Android GridView中设置Button后不能响应onItemClick()原因
来源:互联网 发布:篮球记分牌软件 编辑:程序博客网 时间:2024/06/06 14:46
当我们在GridView或者ListView里面设置了Textiew的时候,假如我们不给Textiew设置onlick()的话,那么Gridiew的OnItemClick()就是可以执行的,但是当把TextView换成是Button的时候我们也不设置onClick()的话,GridView的OnItemClick()也是不能执行的,为什么呢,这说明Button和TextView内部事件方面有区别,去查看Button的源代码,代码很少就这么几句
public class Button extends TextView {
public Button(Context context) {
this(context, null);
}
public Button(Context context, AttributeSet attrs) {
this(context, attrs, com.android.internal.R.attr.buttonStyle);
}
public Button(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
所以,主要的猫腻还是在com.android.internal.R.attr.buttonStyle这个里面,查看这个xml文件,Button设置多了两个属性如下:
<item name="android:focusable">true</item>
<item name="android:clickable">true</item>
public class Button extends TextView {
public Button(Context context) {
this(context, null);
}
public Button(Context context, AttributeSet attrs) {
this(context, attrs, com.android.internal.R.attr.buttonStyle);
}
public Button(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
所以,主要的猫腻还是在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,不是这种情况的,上面的就只能参考一下了)
参考网址:http://www.cnblogs.com/zgz345/archive/2012/07/05/2578110.html
0 0
- Android GridView中设置Button后不能响应onItemClick()原因
- [Android UI界面] GridView中设置了Button以后就不能响应OnItemClick()
- [Android UI界面] GridView中设置了Button以后就不能响应OnItemClick()
- Android GridView中设置了Button以后就不能响应OnItemClick()
- Android GridView 的item 使用 Button,imagebutton 等ui控件后,不能响应OnItemClick()事件
- Android中ListView(gridview)的item中有button等子点击控件时不能响应点击事件的原因
- 【Android】 ListView添加Button后响应OnItemClick事件以及View TAG的使用。
- ListView Item中有button及CheckBox OnItemClick无响应
- Android.GridView中item事件OnItemClick
- android listview、GridView中item点击后改变其他item中的状态 setOnItemClickListener onItemClick
- android listview的item布局中含有button,不会响应listview的onitemclick监听 以及 onitemlongclick监听问题解决
- iOS开发经验:button不能响应的原因
- Android中自定义ListView无法响应OnItemClickListener中的onItemClick方
- android listviewListview中的button点击事件或者是onitemclick不响应的问题
- Android PopupWindow GridView onItemClick无效
- android gridview onItemClick参数说明
- popupwindow 嵌套ListView onitemclick 事件不能响应
- HTML中input和button设置同样高度却不能等高的原因
- HTTP协议通信过程汇总
- windows环境下安装jekyll
- leetcode || 108、Convert Sorted Array to Binary Search Tree
- WPF基础篇
- Jfreechart学习以及参考API
- Android GridView中设置Button后不能响应onItemClick()原因
- Selenium-IDE 的使用方法
- 定制可隐藏seperator的UITableViewCell
- PostgreSQL学习手册(常用数据类型) - Stephen_Liu - 博客园
- jqGrid API 及用法
- maven中关于dependencie和dependencyManagement的区别
- intel毫无眼光,迟早死翘
- STL模板库list,vector
- RelativeLayout的重要属性