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

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。