2016-11-08 142 views
0

我尝试使用HTML/CSS/Javascript来使一个应用程序解决符号web视图并在MainActivity.java我有这样运行:不能在Android工作室

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) 
    
  2. webView改变的话资本(WebViewId代替id等)

编辑:添加L AYOUT

<?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

那么,如果它不能找到R.id.webView那么这就是问题的所在。我们能否看到定义webView的XML布局? – Stefan

+0

我已将WebView添加到activity_main中的组件树中。其实你可以在视频中看到iv完成的所有事情https://www.youtube.com/watch?v=eJa8xie9WZs但是我在这里卡住了 –

+0

你可以只显示声明Web视图的XML部分吗?此视频自5月12日起。 – Stefan

回答

3

因为你还没有发布你的XML布局,我只能猜测,但它必须做的很可能是你的预编译的R.java类不持有对该ID的引用,因此它不能解决,直到你做以下任何一种。

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

  2. 如果上述方法不解决这个问题,请确保您的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

+0

ive更新了第一篇文章 –

+0

@UrosTadic请确保您将android:id部分添加到您的xml布局。我忘了在另一个晚上粘贴代码片段。请参阅我的更新。 – anthonymonori

+0

非常感谢。不知道OP,但它帮助了我。 (1) – 2017-08-11 02:58:23

2

。在你的WebView XML标签没有ID属性。给它添加 android:id="@+id/webView"

这将使它看起来像:

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

您可以采用如下方案:

WebView view=(WebView) this.findViewById(R.id.webView); 
view.getSettings().setJavaScriptEnabled(true);