Android开发最近错误总结:

来源:互联网 发布:python判断字符串相等 编辑:程序博客网 时间:2024/05/18 02:23

(1)错误一

android.content.res.Resources$NotFoundException: String resource ID #0x10

今天运行程序的时候,出现了一下错误
android.content.res.Resources$NotFoundException: String resource ID #0x10

LogCat显示出错行,查看了一下,
在textview显示的时候;写成了 

left_sum_tv.settext(1);这样虽然不报错,但是运行的时候,就 错了

应该改为:

left_sum_tv.settext(1+"");或者left_sum_tv.settext(String.valueof(1));

开始的时候,死活找不出原因。
后来发现错误原因是:
           即返回的是Integer类型,转成String类型,即可,如下:           

          left_sum_tv.settext(1+"");


(2)

最近做一个项目,需要使用button。其中有一个需求就是默认情况下一个button是要被默认选中的。很自然的,就想到了使用button.setPress(true)来实现这个功能。代码加上去之后看效果,果然实现了。但是。。。在我点击这个按钮之后,这个按钮的选中状态又消失了。我试着在该按钮的点击事件中加入button.setPress(true)来再次使其处于点中状态,发现并没有效果。然后我又在其他按钮的点击事件中把该按钮设为选中状态,是有作用的。初步猜测在onclick事件中,系统会做一个点击动画,然后清空该按钮的点中状态。
既然这样,要实现选中功能,该如何实现呢?嘿嘿,google之。很快,就搜索到了想要的答案,经过改良,就实现了想要的功能。将onclick事件改为ontouch事件,在ontouch事件中捕获点击事件然后处理就可以了。
your_btn.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            if(event.getAction()==MotionEvent.ACTION_DOWN) return true;
            if(event.getAction()!=MotionEvent.ACTION_UP) return false;

            doSomething();
            you_btn.setPressed(true);
            return true;
        }
 });

至此,解决方法明朗。