문제

나는 채워졌다 ListActivity a Cursor 사용 SimpleCursorAdapter 목록 항목 중 하나를 클릭하면 다른 활동이 시작됩니다. 나도 사용하고 있습니다 ViewBinder 데이터의 사용자 정의 변환을 수행합니다.

추가하고 싶습니다 CheckBox 목록의 각 행에 뷰를 변경하고 CheckBox 중력으로.

추가 CheckBox 항목을 클릭하는 기능을 제거했습니다. 그만큼 onListItemClick 내가 재정의하는 방법 ListActivity 목록 항목을 누르면 더 이상 호출되지 않습니다. 제거 CheckBox 이것을 해결합니다. 왜 이런거야?

또한 목록 항목의 기본 부분이 클릭되지만 추가 기능이있는 경우 필요한 기능을 계속 수행 할 수 있도록 목록을 설정하려면 어떻게해야합니까? CheckBox 항목에서 확인 되었습니까? a onCheckedChangedListener 작업 또는 목록의 각 항목에 대해 동일한보기 인스턴스가 재사용됩니까?

도움이 되었습니까?

해결책 2

보입니다 SimpleCursorAdapter 내가 달성하고 싶었던 것에 대해 너무 원시적입니다. 구현으로 전환했습니다 CursorAdapter 그리고 The를 사용하여 새로운보기를 반환합니다 LayoutInflater 내 구현에서 newView 방법.

  public View newView(Context context, Cursor cursor, ViewGroup parent) {
    return LayoutInflater.from(context).inflate(R.layout.alarm_row, parent, false);
  }

Bindview에서는 사용자 정의를 설정했습니다 OnClickListener 내 메인에 LinearLayout 그리고 또 다른 OnCheckedChangeListener ~로 CheckBox.

이 모든 것이 올바르게 보이기 위해 LinearLayoutAndroid의 menuitem에 대한 배경 :

android:background="@android:drawable/menuitem_background"

다른 팁

설명 된 바와 같이 여기, 클릭 리스너는 다른보기가없는 경우에만 작동합니다. focusable. 당신의 설정 CheckBox 에게 focusable="false" 트릭을 수행해야합니다.

<CheckBox android:focusable="false" />
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top