Java 是否在自定义ListView布局中检测单击复选框?

Java 是否在自定义ListView布局中检测单击复选框?,java,android,listview,checkbox,onitemclicklistener,Java,Android,Listview,Checkbox,Onitemclicklistener,我知道关于同一主题还有很多其他的线程,但它们似乎都不适用于我的场景,我无法让我的listview使用它们的代码。基本上,我使用SimpleCursorAdapter用数据库中的项目填充listview。每个listview行使用一个自定义布局,该布局由一个复选框和一行简单文本组成。如何检测对复选框的单击?我知道我需要使用McClickListener,但我不知道如何将其合并到我的代码中。这是我的密码: remindersCursorAdapter = new SimpleCursorAdapte

我知道关于同一主题还有很多其他的线程,但它们似乎都不适用于我的场景,我无法让我的listview使用它们的代码。基本上,我使用SimpleCursorAdapter用数据库中的项目填充listview。每个listview行使用一个自定义布局,该布局由一个复选框和一行简单文本组成。如何检测对复选框的单击?我知道我需要使用McClickListener,但我不知道如何将其合并到我的代码中。这是我的密码:

remindersCursorAdapter = new SimpleCursorAdapter(this,
                         R.xml.view_reminders_item_layout,
                         remindersCursor, new String [] { RemindersDAO.NAME },
                         new int[] { R.id.view_reminders_item_text } );

viewRemindersListView.setAdapter(remindersCursorAdapter);

R.xml.view\u提醒\u项目\u布局是自定义的listview布局文件。如何从该文件中捕获复选框并为其设置单击侦听器?谢谢你的帮助

如果要在单击项目时选中复选框,可以通过在onItemClick方法中设置复选框的选中状态来完成

  @Override
  public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {

       // now get the checkbox view. Then set the checked status.
        CheckBox checkbox = (CheckBox) view.findViewById(R.id.check_box);
        checkBox.setChecked(!checkbox.isChecked());
  }
@覆盖
public void onItemClick(AdapterView AdapterView,视图视图,整型位置,长id){
//现在获取复选框视图。然后设置选中状态。
CheckBox=(CheckBox)view.findViewById(R.id.CheckBox);
checkBox.setChecked(!checkBox.isChecked());
}
如果要检测“仅单击”复选框,请在xml中设置focusable true。 //在自定义列表视图项中。它采用当前视图焦点

      <Checkbox>
          android:focusable="true"
      </Checkbox>

android:focusable=“true”

嘿,谢谢你的回复!实际上,我只想检测对复选框的点击,而不是整个listview行。我该怎么做?你能用代码解释一下吗?我是Android开发新手,不知道如何执行你的建议。谢谢我是否将该方法放在上面的onCreate()方法之外?否。转到自定义行xml(view\u rementers\u item\u layout.xml)文件,该文件将显示一个TextView和一个复选框。在复选框标记下添加此行。让我们知道您的布局应该位于
/res/layout
文件夹中,而不是
/res/xml
文件夹中。但是,要在适配器中正确使用复选框OnClickListener,必须编写自定义适配器。