1

나는 (다른 것들 중에서) 각 목록 항목의 뷰를 포맷팅해야하는 상당히 복잡한 코드를 작성하고 있습니다.CursorAdapter 하위 클래스에서 액티비티의 상태에 액세스

것은 나에게 뷰가 각 목록 항목에 바인딩하는 방법을 완벽하게 제어를 제공하기 위해,이 방식으로 CursorAdapter을 서브 클래스 :

public class MyAdapter extends CursorAdapter { 

    public final LayoutInflater mInflater; 

    public MyAdapter(Context context, Cursor c) { 
     super(context, c); 
     mInflater = LayoutInflater.from(context); 
    } 

    @Override 
    public void bindView(View view, Context context, Cursor cursor) { 
     final ToggleButton tButton = (ToggleButton) view.findViewById(R.id.tbutton); 
     tButton.setOnClickListener(new OnClickListener() { 
      public void onClick(View v) { 
       // start activity based on a pending intent 
      } 
     });  

    } 
} 

문제 내 ToggleButton 클릭 리스너가 출원을 기반으로 활동을 시작해야한다는 것입니다 의지. 보류중인 인 텐트는이 사용자 정의 된 어댑터를 사용하는 활동에서 인스턴스화됩니다.

나는 의도를 실행하는 유일한 주요 Activity에서 필요하다 그래서 나는 ViewBinder와 주요 ActivitySimpleCursorAdapter을 사용할 수도 알고 있어요. 그러나 SimpleCursorAdapter은보기에 직접 열을 매핑하지 않기 때문에 적절하지 않습니다.

그러나 여기에있는 대체 방법은 커서 서브 클래스에서 Activity 메인 데이터에 액세스하는 것이 좋습니다. 응용 프로그램을 디자인하는 좋은 방법이 있어야한다고 생각합니다.

답변

관련 문제