Android McClickListener一次只能为一个列表项工作吗?
我为我的Android McClickListener一次只能为一个列表项工作吗?,android,Android,我为我的列表视图设置了一个onItemClickListener()。对我来说,这个名字意味着事件应该在单击列表视图中的任何单个项目后触发。在我的应用程序中,我对我的项目有多个选择,onitemclicklistener()只响应单击的第一个项目。这就是它的工作原理吗?如果是这样,是否有其他方法可以为每个列表项设置一个onClickListener()?谢谢 一些代码: listView.setOnItemClickListener(new OnItemClickListener(){
列表视图设置了一个onItemClickListener()
。对我来说,这个名字意味着事件应该在单击列表视图中的任何单个项目后触发。在我的应用程序中,我对我的项目有多个选择,onitemclicklistener()
只响应单击的第一个项目。这就是它的工作原理吗?如果是这样,是否有其他方法可以为每个列表项设置一个onClickListener()
?谢谢
一些代码:
listView.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> adapter, View view, int position,
long id) {
ListView listView = getListView();
listView.setItemChecked(position, true);
Log.v("onItemClick","set checked");
listView.setOnItemClickListener(新的OnItemClickListener(){
@凌驾
公共控件单击(适配器视图适配器、视图视图、int位置、,
长id){
ListView ListView=getListView();
setItemChecked(位置,true);
Log.v(“onItemClick”,“set checked”);
日志中的消息是:
仅记录在列表中首先单击的任何项目上。单击其他项目不会调用侦听器,因为消息未被记录。
您尝试过吗
getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
onItemClickListener在单击ListView中的项目时被调用。您必须检查您的实现当我开始时,我也一直忘记I实现。有一天,我要求使用onTouchListeners(非常类似)。好了。这确实允许为多个列表项调用侦听器,但是上下文操作栏现在没有打开。当我使用CHOICE_MODE_multiple_MODE时,情况正好相反:CAB打开,但只有一个列表项响应侦听器。在任何人询问之前,我需要侦听器访问每个项的视图,而我在onItemCheckedStateChanged()方法。谢谢你的回答(抱歉,我不能投票)嗯,你知道你得到了带有事件的视图…public void onItemClick(AdapterView适配器,视图视图,int position,long id)??是的,你可以为一个列表项这样做,因为其余的不调用onItemClick()方法