无法在 Android Studio 上解析符号 webView

新手上路,请多包涵

我正在尝试使用 HTML/CSS/Javascript 创建一个应用程序,并且我在 MainActivity.java 中运行了这个应用程序:

 import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.WebView;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        WebView webView = (WebView)findViewById(R.id.webView); #The line in question
        webView.loadUrl("file:///android_asset/www/index.html");
    }
}

我遇到的问题是倒数第二行中的 R.id.webView 。它说它由于某种原因无法解析符号,有人知道为什么吗?

我已经尝试过的事情:

  1. 输入
   import android.webkit.WebView;
   import android.webkit.WebViewClient; (dont need this one but still got it)

  1. 改变单词的大小写 webViewWebViewId 而不是 id

编辑:添加布局

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="g24.guidedproject.MainActivity">

    <WebView android:layout_height="match_parent"
        android:layout_width="match_parent" />
</RelativeLayout>

谁能帮忙??

原文由 Uros Tadic 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 636
2 个回答

由于您还没有发布您的 XML 布局,我只能猜测,但它很可能是您的预编译 R.java 类不包含对该 ID 的引用,因此在您执行以下任一操作之前它无法解析下列的。

  1. 在这种情况下,始终在 Android Studio 中使用 Build -> Rebuild Project 。作为最后的手段,使用 File -> Invalidate Caches / Restart

  2. 如果以上没有解决问题,请确保您的 资源 ID 已正确声明:

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

请注意 @id 之间的 + 。这可确保创建 ID 并将其放入 R.java 文件中。确保之后重新编译。

欲了解更多信息:我建议您阅读以下来自 Android 的 API 指南: https ://developer.android.com/guide/topics/ui/declaring-layout.html

原文由 anthonymonori 发布,翻译遵循 CC BY-SA 3.0 许可协议

您的 WebView xml 标记中没有 id 属性。添加 android:id="@+id/webView" 到它。

这将使它看起来像:

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

原文由 Myth 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题