未触发 OnItemClick 侦听器
OnItemClick listener not triggered
我正在使用自定义网格视图。我正在膨胀布局如下图
<?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="match_parent"
android:background="#FEFAFA"
android:orientation="vertical" >
<RelativeLayout
android:id="@+id/relative_first"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<ImageView
android:id="@+id/grid_image_first"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:background="@drawable/ic_action_refresh"
android:clickable="false"
android:focusable="false"
android:focusableInTouchMode="false" >
</ImageView>
</RelativeLayout>
<LinearLayout
android:id="@+id/relative_second"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:orientation="vertical" >
<TextView
android:id="@+id/grid_text_desc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:gravity="center"
android:singleLine="true"
android:textAppearance="?android:attr/textAppearanceSmall" >
</TextView>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/grid_text"
android:orientation="horizontal" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/productpricefirstlayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="RS 200"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="#F21111" >
</TextView>
<TextView
android:id="@+id/discprice"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="(50% off)"
android:textAppearance="?android:attr/textAppearanceSmall" >
</TextView>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="3dp"
android:orientation="vertical" >
<TextView
android:id="@+id/disc_ammount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="(Rs.400)"
android:textAppearance="?android:attr/textAppearanceSmall" >
</TextView>
</LinearLayout>
</LinearLayout>
</LinearLayout>
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="5dp" >
<Button
android:id="@+id/shareproduct"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="3dp"
android:background="@drawable/share" />
</RelativeLayout>
</LinearLayout>
我已经为网格视图设置了 setOnItemClickListener
gridView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
Toast.makeText(getActivity(),"Filter Selected Otpins",Toast.LENGTH_SHORT).show();
}
});
但 "setOnItemClickListener" 未触发。正如我已经写过的图像。
"android:clickable="false"
android:focusable="false""
所以我需要写的地方
我的这两行 xml?
如果列表的任何行项目包含可聚焦或可点击的视图,则 OnItemClickListener
将不起作用。
行项目必须有一个类似 android:descendantFocusability="blocksDescendants".
的参数
在这里你可以看到例子,你的列表项应该是什么样子
row_item.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:baselineAligned="false"
android:descendantFocusability="blocksDescendants"
android:gravity="center_vertical" >
// your other widgets here
</LinearLayout>
或为内部视图添加这两行
android:focusable="false"
android:focusableInTouchMode="false"
从我以前的
中得到了解决方案
我正在使用自定义网格视图。我正在膨胀布局如下图
<?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="match_parent"
android:background="#FEFAFA"
android:orientation="vertical" >
<RelativeLayout
android:id="@+id/relative_first"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<ImageView
android:id="@+id/grid_image_first"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:background="@drawable/ic_action_refresh"
android:clickable="false"
android:focusable="false"
android:focusableInTouchMode="false" >
</ImageView>
</RelativeLayout>
<LinearLayout
android:id="@+id/relative_second"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:orientation="vertical" >
<TextView
android:id="@+id/grid_text_desc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:gravity="center"
android:singleLine="true"
android:textAppearance="?android:attr/textAppearanceSmall" >
</TextView>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/grid_text"
android:orientation="horizontal" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/productpricefirstlayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="RS 200"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="#F21111" >
</TextView>
<TextView
android:id="@+id/discprice"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="(50% off)"
android:textAppearance="?android:attr/textAppearanceSmall" >
</TextView>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="3dp"
android:orientation="vertical" >
<TextView
android:id="@+id/disc_ammount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="(Rs.400)"
android:textAppearance="?android:attr/textAppearanceSmall" >
</TextView>
</LinearLayout>
</LinearLayout>
</LinearLayout>
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="5dp" >
<Button
android:id="@+id/shareproduct"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="3dp"
android:background="@drawable/share" />
</RelativeLayout>
</LinearLayout>
我已经为网格视图设置了 setOnItemClickListener
gridView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
Toast.makeText(getActivity(),"Filter Selected Otpins",Toast.LENGTH_SHORT).show();
}
});
但 "setOnItemClickListener" 未触发。正如我已经写过的图像。
"android:clickable="false"
android:focusable="false""
所以我需要写的地方 我的这两行 xml?
如果列表的任何行项目包含可聚焦或可点击的视图,则 OnItemClickListener
将不起作用。
行项目必须有一个类似 android:descendantFocusability="blocksDescendants".
在这里你可以看到例子,你的列表项应该是什么样子
row_item.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:baselineAligned="false"
android:descendantFocusability="blocksDescendants"
android:gravity="center_vertical" >
// your other widgets here
</LinearLayout>
或为内部视图添加这两行
android:focusable="false"
android:focusableInTouchMode="false"
从我以前的