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

hi,同学们,更新一下代码中的一处bug及解决方法:

目前已经有两位同学发现此bug,就是待选文字框的第一个文字,点击后无法隐藏。下面是解决方法:

bug已经找到,请按照如下方法修改:

MyGridView.java中的getiew(int pos, View v, ViewGroup p)方法:

原代码:

holder.mViewButton = (Button)v.findViewById(R.id.item_btn);
holder.mViewButton.setOnClickListener(new View.OnClickListener() {
     @Override
     public void onClick(View v) {
          // 回调
          mWordButtonListener.onWordButtonClick(holder);
     }
});


修改后代码:               

if (holder.mViewButton == null) {    
    holder.mViewButton = (Button)v.findViewById(R.id.item_btn);    
    holder.mViewButton.setOnClickListener(new View.OnClickListener() {           
        @Override                 
        public void onClick(View v) {                          
            // 回调                          
            mWordButtonListener.onWordButtonClick(holder);                 
        }        
    });
}


解释:

增加条件判断


正在回答

10 回答

完美解决

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

老师,可以解释下这个bug的原因吗?实在想不通

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

老师怎么导入音乐?我的播放不了

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

为什么我修改之后根本就把文字选不进去了呢?将24个字中的任何一个点击了以后都不会出现在答案框里,为什么呢

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

终于出答案了,这个问题困扰了很久

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


改后每次都有一个d,无法点击,而且有时还少正确答案的字

54c37da20001f85705000460.jpg

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

老師,依然有個bug,通關之後在運行,一直停留在最後一關,不能重新開始

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

sunzhi

那不是bug,要自己完成返回键的监听
2014-12-06 回复 有任何疑惑可以回复我~

不知道对不对,我来解释下吧,从Log.i("MainActivity", pos+""+(++count));输出可知getView被执行了25次,本来是24个button的,多出来的一个就是在位置0又执行了一次,所以位置O有两个重叠的button了

2 回复 有任何疑惑可以回复我~
#1

凌云楼下的离别

那为什么会被执行25次呢?
2015-03-27 回复 有任何疑惑可以回复我~
#2

星碎JYT 回复 凌云楼下的离别

我是这样理解的,MyGridView里setAdapter(mAdapter)执行了两次,第一次mAdapter没数据,第二次mAdapter有数据,所以0位置执行了2次吧
2016-02-24 回复 有任何疑惑可以回复我~

可以解释下这个bug出现的原因吗?困惑很久了。。

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

老师,这个的源码在哪儿能下到了?

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

举报

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

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

进入课程
意见反馈 帮助中心 APP下载
官方微信