为了账号安全,请及时绑定邮箱和手机立即绑定

发现个bug,解决办法知道了,但不知道为什么会报错?

发现个bug,但不知道为什么?报错信息如下图

http://img1.sycdn.imooc.com//55534ccb000142f413660736.jpg

按报错信息跳转到报错的地方是MyGridView类中的holder.mViewButton.setText(holder.mWorldString);这句代码,我把这句代码注释之后就能正常运行了;我自己分析下是报错应该是说holder.mViewButton这个Button找不到,但是这个Button不是在updateDate中new出来了吗,再说了要是不存在,GridView布局也无法正常显示,但是注释了这句代码可以正常显示,说明是没问题,不是空的,为什么会报空指针异常.

正在回答

6 回答

你的Button控件为null,没有实例化成功,new 出来自定义的那个不是Button那个是自定义的holder类,根本没有继承Button, Button控件应该通过缓存View中的findViewById方法来实例化。

0 回复 有任何疑惑可以回复我~

我也出现这个问题了,你是怎么修改的呢

0 回复 有任何疑惑可以回复我~

发现问题了,在实例化Button是少了convertView

错误代码:holder.mViewButton=(Button).findViewById(R.id.item_btn);

另外我还发现这里不能通过new的方式来实例化Button(holder.mViewButton=new Button(mContext);),

因为通new的方式与convertView没关联,等同于新建了一个self_ui_gridview_item里面的Button。


0 回复 有任何疑惑可以回复我~

请检查你的Button是否实例化了或者infater了   如果没有 调用肯定直接报错

0 回复 有任何疑惑可以回复我~

java这么难用的语言不用调试怎么可以?

0 回复 有任何疑惑可以回复我~

http://img1.sycdn.imooc.com//5553503100010a5413660736.jpg图片不太清楚,再补一张

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Android猜歌游戏是这样炼成的
  • 参与学习       27735    人
  • 解答问题       422    个

手把手教你完成一款猜歌类游戏,向你展示游戏实现的全部细节

进入课程

发现个bug,解决办法知道了,但不知道为什么会报错?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信