2016-11-08 143 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);