Android Studio中WebView通过findViewById获取为null问题求助
解决WebView通过findViewById获取为null的问题
嘿,我看到你遇到的问题啦!刚接触Android开发很容易踩这个小坑——你忘记在onCreate方法里加载布局文件了,这就是为什么findViewById拿不到WebView实例的原因。
你只需要在super.onCreate(savedInstanceState)之后,加上加载布局的代码就行,修改后的MainActivity.java代码如下:
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 新增这行代码,关联你的布局文件 setContentView(R.layout.activity_main); WebView myWebView = (WebView) findViewById(R.id.webview); // 现在myWebView应该就能正常获取到实例啦 } }
原因解释
在Android开发中,Activity需要通过setContentView()方法来指定要使用的布局文件,只有这样系统才会解析布局XML,创建里面所有控件的实例。你之前的代码没有执行这一步,Activity根本不知道要加载activity_main.xml,所以findViewById自然找不到对应的WebView控件,返回null。
如果之后还是遇到类似问题,可以检查这几点:
- 布局文件里的控件id和代码里的
findViewById参数是否完全一致(大小写、拼写都要对) - 布局文件是否放在
res/layout目录下,没有被误移或误删 - 是否在正确的Activity里调用了
setContentView(比如如果有多个Activity,别搞混了)
内容的提问来源于stack exchange,提问作者patrick
相关产品推荐
相关产品推荐

