@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
searchKeywordForResultPage(mHotKeyModels.get(position).getName());
}
});
ITEM布局:
<?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="@dimen/global_title_height"
android:background="@drawable/dotline_stroke"
android:orientation="vertical"
android:gravity="center"
android:clickable="true"
android:focusable="true"
>
<TextView
android:id="@+id/search_item_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
android:singleLine="true"
android:textColor="@color/global_text_color_black"
android:textSize="@dimen/font_size_42px"
></TextView>
</LinearLayout>
根据上面的布局 Item事件死活都不响应,当我把红色的部分去掉之后,就可以了,
clickable=false,focusable=false也是可以的,具体原因是setOnItemClickListener是针对
每个item小容器进行事件的设置,而小容器里面的view抢占了click事件,所以我们发现无论怎么设置,
ITEM对事件都没有反应
一开始其实我是在adapter中的 getView方法中对每个view执行事件设置的,也就是说我是item小容器里面的每个
view进行click设置,所以view抢占了click事件是对的,正好执行我设置的click事件
但是后来修改为setOnItemClickListener就不一样了,这个是对item小容器执行设置的
参考:http://my.oschina.net/fuckboogie/blog/346202