我正在尝试使用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
。它说它出于某种原因无法解析符号,有人知道为什么吗?
我已经尝试过的事情:
导入
import android.webkit.WebView;
import android.webkit.WebViewClient; (dont need this one but still got it)
更改webView
(WebView
,Id
代替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>
任何人都可以帮忙吗?
答案 0 :(得分:4)
由于您还没有发布您的XML布局,我只能猜测,但它最有可能是您的预编译R.java类不能保留对该ID的引用,因此它无法解决,直到您执行以下任一操作。
在这种情况下,请始终在Android Studio中使用Build -> Rebuild Project
。最后,请使用File -> Invalidate Caches / Restart
。
如果上述方法无法解决问题,请确保正确宣布resource 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
答案 1 :(得分:3)
WebView xml标记中没有id属性。加
android:id="@+id/webView"
到它。
这将使它看起来像:
<WebView android:id="@+id/webView"
android:layout_height="match_parent"
android:layout_width="match_parent" />
答案 2 :(得分:1)
您可以使用以下解决方案:
WebView view=(WebView) this.findViewById(R.id.webView);
view.getSettings().setJavaScriptEnabled(true);
答案 3 :(得分:0)
when(outputStream.close()).doThrow(new IOException())