首页 > 代码库 > Android GridView中Button点击事件onItemClick不能响应
Android GridView中Button点击事件onItemClick不能响应
今天在捣鼓一个类似于百度贴吧的东西。布局:上面是个ActionBar标题栏,然后是一个GridView布局,在Java代码中动态加载关注的贴吧,一切就绪中,很愉快的弄好了!
现在需要点击选项进入某个贴吧,那么问题来了—— GridView中Button点击事件onItemClick不能响应。
所以,主要的猫腻还是在com.android.internal.R.attr.buttonStyle这个里面,查看这个xml文件,Button设置多了两个属性如下:
<item name="android:focusable">true</item>
<item name="android:clickable">true</item>
所以我们要在代码里面把这两个属性设为false,这样就可以响应GridView的onItemClick方法了,但是一定要注意,不管是Button,还是TextView,只要设置了onClick() 的话,那么OnItemClick()就不会被执行(以上的内容都是基于一个GridView或者是ListView的每个Item只有一项,要不是Button,要不是TextView,不是这种情况的,上面的就只能参考一下了)。
解决方案:(修改Button XML布局)加上如下两个就ok了……
android:focusable="false"
android:clickable="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"> <Button android:layout_width="match_parent" android:layout_height="match_parent" android:focusable="false" android:clickable="false" android:id="@+id/btn_spot" android:text="" /></LinearLayout>
参考文献:zgz345博客园,Android GridView中设置了Button以后就不能响应OnItemClick(),http://www.cnblogs.com/zgz345/archive/2012/07/05/2578110.html
Android GridView中Button点击事件onItemClick不能响应