[Android UI界面] GridView中设置了Button以后就不能响应OnItemClick()

news/2024/7/4 1:44:03 标签: button, android, ui, listview, class, null
class="baidu_pl">
class="article_content clearfix">
class="htmledit_views">

当我们在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.class="tags" href="/tags/ANDROID.html" title=android>android.internal.R.attr.class="tags" href="/tags/BUTTON.html" title=button>buttonStyle);
}

public Button(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
所以,主要的猫腻还是在com.class="tags" href="/tags/ANDROID.html" title=android>android.internal.R.attr.class="tags" href="/tags/BUTTON.html" title=button>buttonStyle这个里面,查看这个xml文件,Button设置多了两个属性如下:
<item name="class="tags" href="/tags/ANDROID.html" title=android>android:focusable">true</item>
<item name="class="tags" href="/tags/ANDROID.html" title=android>android:clickable">true</item>
所以我们要在代码里面把这两个属性设为false,这样就可以响应GridView的onItemClick方法了,但是一定要注意,不管是 Button,还是TextView,只要设置了onClick() 的话,那么OnItemClick()就不会被执行(以上的内容都是基于一个GridView或者是ListView的每个Item只有一项,要不是 Button,要不是TextView,不是这种情况的,上面的就只能参考一下了)


希望对大家有用

 


http://www.niftyadmin.cn/n/1850590.html

相关文章

Windows XP虽伟大,但十年是否太久了

一时间&#xff0c;80%的桌面电脑都运行Windows XP。这款绝地杀出的操作系统出现在2001年10月25日&#xff0c;如今已经10岁了。然而&#xff0c;对任何一款操作系统来说&#xff0c;10年时间太长了吗&#xff1f;      当然&#xff0c;于2004年推出的XP Service Pack 2…

14.【static关键字】

概述 关于static关键字的使用&#xff0c;它可以用来修饰的成员变量和成员方法&#xff0c;被修饰的成员是属于类的&#xff0c;而不是单单是属于某个对象的。也就是说&#xff0c;既然属于类&#xff0c;就可以不靠创建对象来调用了。 类变量 当static修饰成员变量时&…

HTML4和HTML5的10个区别

HTML5是最新的HTML标准&#xff0c;或迟或早&#xff0c;所有的web程序员都会发现需要使用到这个最新的标准&#xff0c;而且&#xff0c;很多人都会感觉到&#xff0c;重新开发一个HTML5的网站&#xff0c;要比把一个网站从HTML4迁移到HTML5上容易的多&#xff0c;这是因为这两…

android textview 中超出屏幕宽度的字符 省略号显示

当利用textview显示内容时&#xff0c;显示内容过多可能会折行或显示不全&#xff0c;那样效果很不好。今天发现android api中已经给出自动省略的功能。 实现如下&#xff1a; <TextView android:layout_width"fill_parent" android:layout_height"wra…

15.【Arrays 数组工具类】

概述 java.util.Arrays是一个与数组相关的工具类&#xff0c;用来实现数组常见的操作&#xff0c;比如排序和搜索等。其所有方法均为静态方法&#xff0c;调用起来非常简单。 操作数组的方法 public static string tostring&#xff08;int[]a&#xff09;&#xff1a;返回指…

明确,才能控制成本

企业成本的构成非常复杂&#xff0c;有些是现实的需要&#xff0c;比如人力、原材料、设备、营销等等。有些是对未来的投资&#xff0c;比如新技术研发、新行业试水等等。既然是对未来投资&#xff0c;看中的就是未来的利润。如何平衡近期利益和长远&#xff0c;如何控制好投资…

16.【Math工具类】

概述 java.1lang.Math 类包含用于执行基本数学运算的方法&#xff0c;如初等指数、对数、平方根和三角函数。类似这样的工具类&#xff0c;其所有方法均为静态方法&#xff0c;并且不会创建对象&#xff0c;调用起来非常简单。 基本运算的方法 public static double abs(dou…

穷人与富人的经典区别,穷人们要收藏啊!

1. 自我认知   穷人&#xff1a;很少想到如何去赚钱和如何才能赚到钱&#xff0c;认为自己一辈子就该这样&#xff0c;不相信会有什么改变。   富人&#xff1a;骨子里就深信自己生下来不是要做穷人&#xff0c;而是要做富人&#xff0c;他有强烈的赚钱意识,这也是他血液…