我到处寻找解决方案,但我不知道如何实现它。我的 OnItemClickListener
在我的 ListView
行上以某种方式被禁用,因为我在行布局中有一个 ImageButton
,它接管了焦点。我发现了很多问题,但没有一个问题能解决我的问题。
我检查过 this问题,但我无法真正理解它。我只需要一种方法来获取可点击的行,以便我可以检测到何时按下了一行。长按和对焦可以正常工作。
最佳答案
将 OnClickListener 添加到从适配器返回的每个 View 中,而不是 OnItemClickListener。您需要使用 setItemsCanFocus
设置您的列表:
ListView list = (ListView) findViewById(R.id.myList);
list.setAdapter(new DoubleClickAdapter(this));
list.setItemsCanFocus(true);
然后在您的 Adapter 的 getView
中,这将产生一个可点击的行。假定按钮位于膨胀的 xml 中。
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = View.inflate(context, R.layout.cell, null);
view.setClickable(true);
view.setFocusable(true);
view.setBackgroundResource(android.R.drawable.menuitem_background);
view.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
new AlertDialog.Builder(context).setTitle("touched").show();
}
});
return view;
}
关于java - ListView OnItemClickListener 没有响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2367936/