Android 另一种方法是,使用SetOnClickListener而不是ItemclickListener来查看列表单击事件

Android 另一种方法是,使用SetOnClickListener而不是ItemclickListener来查看列表单击事件,android,Android,我想实现,当我选择列表视图时,我的复选框将被选中。 这里的复选框项目只被选中,但我想如果我点击列表视图,复选框就会被选中,有人能帮我吗?为什么我再次问同样的问题意味着我尝试了通过项目单击侦听器查看列表单击事件,但它不起作用我也尝试了setFocusable(true),但不起作用。在列表对象上使用onitemclicklistener。如果将选中行,将选中复选框。您必须在列表中实现onitemclicklistener list.setOnItemClickListener(new OnIte

我想实现,当我选择列表视图时,我的复选框将被选中。


这里的复选框项目只被选中,但我想如果我点击列表视图,复选框就会被选中,有人能帮我吗?为什么我再次问同样的问题意味着我尝试了通过项目单击侦听器查看列表单击事件,但它不起作用我也尝试了setFocusable(true),但不起作用。

在列表对象上使用onitemclicklistener。如果将选中行,将选中复选框。

您必须在列表中实现onitemclicklistener

list.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View view,
                int position, long id) {
              ViewHolder yourView = (ViewHolder) view;
              //do whatever you want with your view..
            }
    });
list.setOnItemClickListener(新的OnItemClickListener(){
public void onItemClick(AdapterView父级、视图、,
内部位置,长id){
ViewHolder yourView=(ViewHolder)视图;
//用你的观点做你想做的事。。
}
});

在列表项的XML布局中将复选框标记为focusable=“false”。然后处理listview的onClickListener,并切换复选框的选中状态

如果不使用focusable=“false”,复选框将窃取列表视图中的单击。

这里是我的答案

convertView .setOnClickListener(new OnClickListener() {         

        public void onClick(View v) {
            // TODO Below is hardcoded to get item at index 1
            // This needs to be changed to fool-proof
            CheckBox checkBox = ((CheckBox)v.getTouchables().get(1));
            checkBox.setChecked(! checkBox.isChecked()); 

            System.out.println("Listview clicked");
        }
    });

首先我尝试了这种类型,但它不适合我,所以我尝试了另一种类型,现在它可以正常工作了
convertView .setOnClickListener(new OnClickListener() {         

        public void onClick(View v) {
            // TODO Below is hardcoded to get item at index 1
            // This needs to be changed to fool-proof
            CheckBox checkBox = ((CheckBox)v.getTouchables().get(1));
            checkBox.setChecked(! checkBox.isChecked()); 

            System.out.println("Listview clicked");
        }
    });