我有一个可扩展列表视图,它有普通和长按的侦听器,如下所示:
expandableListView.setOnItemClickListener(new AdapterView.OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long id)
{
...
}
});
expandableListView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener()
{
@Override
public boolean onItemLongClick(AdapterView<?> adapterView, View view, int position, long id)
{
...
}
});
奇怪的是,长项目点击侦听器被调用,但正常的一个没有。长按返回什么或是否注册长按都无关紧要。
普通点击监听器有什么特别之处吗?
你不能使用 OnItemClickListener!这就是ExpandableListView的重点
。项目单击用于展开/折叠组。您应该使用 OnChildClickListener
.
但是,您可以使用 setOnChildClickListener(ExpandableListView.OnChildClickListener onChildClickListener)和 setOnGroupClickListener(ExpandableListView.OnGroupClickListener onGroupClickListener)的任意组合。