(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;
}
});
至此,解决方法明朗。