Android:findViewById返回null

1.android是通过xml作为前台的界面布局,后台的代码作为运行,通过setContentView的动作把布局和代码结合起来如果把findViewById动作移到了 setContentView(R.layout.main)之前,在Android中是找不到所要的布局控件的,所以必須把findViewById的动作放到setContentView之后。

2.如果xml布局中定义View的id时,使用了旧的id定义方式id="@+id/"方式也会找不到,要改为android:id="@+id/"形式

 

3.想要得到的xml布局中的View不在当前活动中,要使用View layout=inflater.inflate(R.layout.{布局文件}, null)得到控件所在的布局View,

R.layout.{布局文件}就是你想要得到的控件所在的布局。然后利用这个布局来寻找

layout.findViewById

 

4.利用findviewbyid()函数得到View,有些View可以得到,有些View却得到null,可能是各种各样的原因,本人测试时有时可以,有时不可以,好像clean一下就可以了,请高手指教。

原文地址:https://www.cnblogs.com/android-for-dh/p/3324618.html