Android软件闪退:为什么代码在setContentView()之前调用findViewById()会导致闪退?

ID:16453 / 打印

android软件闪退:为什么代码在setcontentview()之前调用findviewbyid()会导致闪退?

android软件闪退

一位android初学者在模拟器上运行代码时遇到闪退问题,以下是他提供的代码:

public class mainactivity extends appcompatactivity {     final webview webview = findviewbyid(r.id.webview);     // ... }

问题:

问题出在代码中过早调用findviewbyid()函数。在调用setcontentview()设置布局之前,findviewbyid()无法找到任何视图。

解决方案:

将findviewbyid()调用移动到setcontentview()之后,如下所示:

public class MainActivity extends AppCompatActivity {     WebView webView;     // ...      @Override     protected void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         setContentView(R.layout.activity_main);         this.webView = findViewById(R.id.WebView);         // ...     } }

现在,setcontentview()将加载布局并渲染视图,然后findviewbyid()才能正确找到webview视图。这样就可以解决闪退问题。

上一篇: java怎么返回一个多维数组
下一篇: java怎么自己输入一串数组

作者:admin @ 24资源网   2024-11-27

本站所有软件、源码、文章均有网友提供,如有侵权联系308410122@qq.com

与本文相关文章

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。