如何在OnItemClickListener()中选中复选框?

kev*_*vin 3 java checkbox android listview onitemclicklistener

我的ListView行中有一个复选框,如下所示.

===========================================
[CheckBox] [TextView] [TextView] [TextView]
===========================================
Run Code Online (Sandbox Code Playgroud)

xml代码在这里

<CheckBox
    android:id="@+id/course_search_checkbox"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_centerVertical="true"
    android:clickable="false"
    android:focusable="false" />
Run Code Online (Sandbox Code Playgroud)

而且我已经使复选框不可点击和可聚焦,以便将click事件传递给ListView.

我想要做的是当用户单击列表视图时,选中CheckBox并将listview的单击位置添加到arraylist.那么如何在ListView的OnItemClickListener中检查CheckBox?

请帮助,谢谢.

Chr*_*ris 5

您可以在以下内容中添加此代码OnItemClickListener:

public void onItemClick(AdapterView parent, View view, int position, long id){
   CheckBox box = (CheckBox)view.findViewById(R.id.course_search_checkbox);
   box.setChecked(true);
}
Run Code Online (Sandbox Code Playgroud)

  • 如果你滚动列表,这个代码会有问题.您将丢失您的选择或可能错误地选中了复选框.Android尝试重用视图. (2认同)