Neh*_*haK 5 android listview android-layout
我有一个listView包含textview和的项目imageView(当点击imageView它时应该显示fullScreen图像),当longPressing任何项目时,应该显示一个弹出窗口.
一切正常,直到我尝试使用longClick imageView.因为当我触摸时ImageView,listView'slongClick方法没有被调用,并且在拉动触摸后,imageView's单击被调用.
而我希望它是这样的:
当long单击imageView/时listItem,它应该只显示警告,单击imageView它就应该显示fullScreen图像.
请帮助我任何建议.
最后,我找到了解决这个问题的方法:
我需要在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;
}
});
Run Code Online (Sandbox Code Playgroud)
并且需要在item_view.xml中添加以下行:
for superParent布局添加行:
android:descendantFocusability="blocksDescendants"
Run Code Online (Sandbox Code Playgroud)
对于那个imageView:
android:longClickable="true"
Run Code Online (Sandbox Code Playgroud)
示例:
<?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>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1589 次 |
| 最近记录: |