已采纳回答 / qq_仙人掌_3
打上log你可以看到,gridview在进行getView显示时,position=0在开头和最后进行了重复调用(原因是gridView的机制决定的,会尝试将第一个元素多次生成来进行布局的计算,因此position=0会在最开头和最后都出现convertView == null 的情形)。在原代码中,每次convertView ==null我们都会重新生成一个button,因此最后这个button会在ArrayList中覆盖掉第一个(因为postion都是0)。但实际上这最后生成的只是系统用来重新算布局用...
2015-06-11
最新回答 / C是什么
你的Button控件为null,没有实例化成功,new 出来自定义的那个不是Button那个是自定义的holder类,根本没有继承Button, Button控件应该通过缓存View中的findViewById方法来实例化。
2015-05-13
已采纳回答 / True丶Lies
如果你第一个文字没有设置宽高,程序则会去测量这个高度和宽度的值,所以第一个BUTTON是临时的,你执行下LOG看看的position是不是0-x-0,0会出现两次,甚至多次,但是这个button的getId是相同的,问题就是在这个第一次执行的0上 ,程序取的是最后执行的那个position=0的button不是取的第一个position=0,而你单击的是第一个position=0的button,所以自然你的第一个单击是无效的,你得想办法解决第一个临时的BUTTON,这样才能解决你的问题,问题描述已经很清楚...
2015-05-08