安卓的findViewById返回为空

findViewById返回为空,在设置的时候我也设置了activity,并且id明显也是有的,但是返回就是为空.然后就会报java.lang.NullPointerException的错误.

查找了半天资料,明明知道是这个函数的问题,但是就是不知道错哪里了.

就比如说百度上的这个问题findViewById(R.id.button2)为什么找不到button2呢,报的是空指针异常,R文件也有此ID.

别人回答的:你要确定这个Button属于哪个View的当然如果你这个是写在onCreate()里面的话没问题,要是写在外面或者其他方法里面,findViewById()前面要加上button的父容器例如v.findViewById

但是这个真没有解决我的问题,所以记录一下现在总结下

首先需要确认R文件路径是否正确,不要导入android的自己的r文件,也就是不要导入Android.R,要导入自己的那个.

并且也可以参考这个文章:http://blog.csdn.net/enson16855/article/details/27339947

虽然别人给出的方法很多,但是试验后只有这一个是解决了问题


用LayoutInflater把my.xml中的view取出来,然后再获得,应该能获得btb。
LayoutInflater inflater = null;
inflater = LayoutInflater.from(context);
View view = inflater.inflate(R.layout.my, null);
Button btb = (Button)view.findViewById(R.id.btb);



当然,如果你们的问题还没有解决,可以参考下这个别人的回答:http://bbs.csdn.net/topics/390815942

Last modification:January 1st, 1970 at 08:00 am
如果看了这个文章可以让你少加会班,可以请我喝杯可乐
已打赏名单
微信公众号

Leave a Comment