我有一个启用了CHOICE_MODE_MULTIPLE_MODAL的ListView。它工作得非常好,长按时,如果List项XML中的RelativeLayout中只包含一个TextView,则会选择列表项。
但是当我在项目XML中添加一个复选框时,我无法通过长按来选择列表项。 任何帮助将不胜感激。
工作清单项目XML
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/list_item_selector">
<TextView
android:text="TextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/todoNoteTitle"
android:layout_alignParentTop="true"
android:textSize="18sp"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:paddingTop="20dp"
android:paddingBottom="20dp"
android:paddingLeft="10dp" />
</RelativeLayout>
非工作清单项目XML
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/list_item_selector">
<TextView
android:text="TextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/todoNoteTitle"
android:layout_alignParentTop="true"
android:textSize="18sp"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:paddingTop="20dp"
android:paddingBottom="20dp"
android:paddingLeft="10dp" />
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/checkboxTodo"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:textSize="18sp"
android:paddingTop="20dp"
android:paddingBottom="20dp"
android:paddingRight="20dp"/>
</RelativeLayout>
任何线索?
答案 0 :(得分:0)
这样做:
your_text_view.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View view) {
//Check or uncheck the CheckBox.
if (!your_check_box.isCheck())
your_check_box.setChecked(true);
else your_check_box.setChecked(false);
return false;
}
});
长按(长按此处)并按长按事件设置当前复选框或取消选中它。这应该可以解决问题。