[Android UI界面] GridView中设置了Button以后就不能响应OnItemClick()
2012-06-13 14:30
393 查看
当我们在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>
所以我们要在代码里面把这两个属性设为false,这样就可以响应GridView的onItemClick方法了,但是一定要注意,不管是 Button,还是TextView,只要设置了onClick() 的话,那么OnItemClick()就不会被执行(以上的内容都是基于一个GridView或者是ListView的每个Item只有一项,要不是 Button,要不是TextView,不是这种情况的,上面的就只能参考一下了)
希望对大家有用
引用自 /article/9466340.html
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,不是这种情况的,上面的就只能参考一下了)
希望对大家有用
引用自 /article/9466340.html
相关文章推荐
- [Android UI界面] GridView中设置了Button以后就不能响应OnItemClick()
- Android GridView中设置了Button以后就不能响应OnItemClick()
- Android GridView中设置了Button以后就不能响应OnItemClick()
- Android GridView中设置Button后不能响应onItemClick()原因
- Android GridView 的item 使用 Button,imagebutton 等ui控件后,不能响应OnItemClick()事件
- Android中ListView(gridview)的item中有button等子点击控件时不能响应点击事件的原因
- 【Android疑难杂症】GridView动态设置Item的宽高导致第一个Item不响应或显示不正常的问题
- 【Android疑难杂症】GridView动态设置Item的宽高导致第一个Item不响应或显示不正常的问题
- android-关于Button设置圆角之后不能点击变色的问题
- 【Android疑难杂症】GridView动态设置Item的宽高导致第一个Item不响应或显示不正常的问题
- Android设置Button按钮不能点击:
- android 一个控件设置了事件响应(比如Button添加了OnClick回调响应),却在触发控件事件时,不执行事件处理函数
- android 设置Button或者ImageButton的背景透明
- android中ListView中在Adapter中为Button设置监听事件方法--跳转Activity
- Android 关于嵌套listView时onItemClick事件不响应的解决办法
- Android GridView设置条目的高度与宽度相等、GridView条目宽高相同
- Android程序:GridView的应用(仿桌面图标排列并设置点击事件)
- Android中自定义ListView无法响应OnItemClickListener中的onItemClick方法问题解决方案
- android之响应的系统设置的事件
- android中重写onConfigurationChanged方法响应系统设置更改