我有一个 listView
包含 textview
的项目和 imageView
(当点击 imageView
它应该显示全屏图像),当长按任何项目时,应该显示一个弹出窗口。
在我尝试使用 imageView
进行 longClick 之前,一切正常.因为当我触摸 ImageView
时, listView's
longClick 方法未被调用,拉动触摸后,imageView's
点击接听电话。
我希望它是这样的:
当长按imageView
/listItem
, 它应该只显示警报和单击 imageView
它应该显示全屏图像。
请帮助我提出任何建议。
最佳答案
最后,我找到了这个问题的解决方案:
我需要在 longClickListener 中返回 "true"。 喜欢:
lv.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> adapterView, View view, int i, long l) {
Log.d("debug", "onLongClick = " + i + " " + view.getTag());
return true;
}
});
并且需要在 item_view.xml 中添加以下行:
为 superParent 布局添加行:
android:descendantFocusability="blocksDescendants"
对于那个 imageView :
android:longClickable="true"
示例:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="150dp"
android:descendantFocusability="blocksDescendants"
android:gravity="center"
android:orientation="horizontal">
<ImageView
android:id="@+id/text_view"
android:layout_width="100dp"
android:layout_height="100dp"
android:longClickable="true"
android:background="#ff0000" />
</LinearLayout>
关于android - ListView 项目长单击不适用于 ImageView(可点击),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41631352/