페이지

2010년 10월 26일 화요일

안드로이드 BaseAdapter를 구현(implement)한 객체에서의 Intent 사용 중 문제해결

어제 말한대로 오늘 달력에 일정을 저장할 수 있도록 작업을 해보았다.
그러나 커다란 문제(사실 잘 몰라서 생긴)에 봉착하고 이를 해결하기 위해 열심히 서핑을 했다

애초부터 Activity객체 자체에서 BaseAdapter를 Implement했으면 문제가 발생하지 않았겠지만
이왕하는거 BaseAdapter를 Implement하는 객체를 생성 작업하기로 한게 문제였다.

일반적인 상황에선 문제가 안되지만
BaseAdapter를 구현한 객체에서 Intent를 생성하려니 그 방법을 알 수가 없었다.

그러다 어찌어찌 서핑을 통해 가능하다는건 알았지만 구체적인 해결방법을 명확하게
제시한 곳을 못찾다가 겨우 겨우 해결할 수 있었다.

그 소스를 잠시 소개하자만

@@ xxx.java <-- Activity 객체
     ... 중간 생략
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

       testAdapter test = new testAdapter(this);
      test.xxxMethodCall();
}

@@testAdapter.java <-- BaseAdapter를 구현한 객체
  private Context  cont;
  public testAdapter(Context mContext){
     cont = mContext;
  }
    .... 중간 생략
  private void xxxMethod(){
      Intent intent = new Intent(cont, newJava.class);
      mContext.startActivity(intent); // 그냥 컨텍스트 받은 넘으로 바로 처리한다.
 }

위 처럼 빨간 줄만 잘 하면 문제가 없다. 저리 쉬운걸 ㅠㅠㅠ
역시 제대로 배우려면 책 한권 사는것 뿐만아니라 학원도 가고 그래야 하는데.

그저 서핑으로만 하려니 조끔 힘들다..

댓글 없음:

댓글 쓰기