java - 应用程序随机轰炸,WebView 抛出空指针

标签 java android

<分区>

我已将我的应用程序缩减到近乎愚蠢的状态,试图找出问题所在。我正在使用 AndroidStudio(IntelliJ 版本)进行开发。我的开发一直很好,直到最近应用程序似乎在启动之前就开始崩溃了。 Logcat 显示了这个:

NullPointerException: Attempt to invoke virtual method
   'void android.webkit.WebView.loadUrl(java.lang.String)'
    on a null object reference

如前所述,我已将应用程序降低到几乎可悲的状态。 (没有服务,没有接收者),这是我的 Activity 。

@Override
protected void onCreate(Bundle savedInstanceState) {
    this.requestWindowFeature(Window.FEATURE_NO_TITLE);
    super.onCreate(savedInstanceState);

    browser = (WebView) findViewById(R.id.web_view);
    browser.loadUrl("file:///android_asset/www/index.html");
}

调用错误的行是“browser.loadUrl”文件,这在过去几个小时内一直运行良好。请注意,必须在 super.onCreate 之上调用“requestWindowFeature”,否则应用程序将崩溃。

这是我的 Activity (也是未经编辑的),我的应用程序只是一个 webview。

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_height="match_parent"
    android:layout_width="match_parent"
    tools:context=".MainActivity"
    tools:ignore="MergeRootFrame">

    <WebView
        android:id="@+id/web_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>
</FrameLayout>

我有点困惑。

最佳答案

您错过了 setContentView(int layoutId)。如果不调用它,您的 Activity 就没有要查找的小部件,并且 findViewById 返回 null

关于java - 应用程序随机轰炸,WebView 抛出空指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32795335/

相关文章:

java:索引对象数组的新手

c# - Http Post 不工作(C# 代码工作而 java 代码不工作)

java - HttpGet 获取带有不需要字符的文本

java - 如果抛出异常则跳过执行

java - 了解java中的垃圾收集

java - Android Marshmallow 上的内容提供商结果中缺少短信

java - 用于在模式之后提取值的正则表达式

android - ADB 找不到我的 Archos 设备

android - querySkuDetailsAsync 回调从未被调用

android - 尝试实现 NavigationDrawer 时工具栏重复