2011-08-22 34 views
0

我試圖用JavaScript創建一個web視圖,但我得到的錯誤:的Android的JavaScript中的WebView

上線WebView myWebView = (WebView) findViewById(R.id.mainWebView);

「無法從WebView中投視圖」這是一個完整的代碼

package com.CalvaryChapelMelbourne.CCM; 

import android.app.Activity; 
import android.webkit.WebSettings; 

public class WebView extends Activity { 
    WebView webview; 
    public WebView() { 
     WebView myWebView = (WebView) findViewById(R.id.mainWebView); 
     WebSettings webSettings = myWebView.getSettings(); 
     webSettings.setJavaScriptEnabled(true); 


    } 

} 

XML佈局:

<?xml version="1.0" encoding="utf-8"?> 
<WebView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
android:id="@+id/mainWebView"/> 
+0

我們可以看到你的xml佈局嗎? – jondavidjohn

+0

當然,我只是加了它 –

回答

2

我覺得你稍微困惑。請參見下面的正確的活動執行:

package com.CalvaryChapelMelbourne.CCM; 

import android.app.Activity; 
import android.webkit.WebSettings; 

public class WebViewActivity extends Activity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     WebView myWebView = (WebView) findViewById(R.id.mainWebView); 
     WebSettings webSettings = myWebView.getSettings(); 
     webSettings.setJavaScriptEnabled(true); 


    } 

} 

,或者如果你想建立一個web視圖對象:

public WebView(Context context) { 
     LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     WebView myWebView = (WebView) inflater.inflate(R.layout.mainWebView, null); // The xml file name not the id 
     WebSettings webSettings = myWebView.getSettings(); 
     webSettings.setJavaScriptEnabled(true);  
    } 
+0

它的工作!謝謝! –

1

我認爲你是在Android開發新的,我們不定義活動的構造函數,你應該覆蓋的方法onCreate(Bundle icircle);這樣的:

public class MyActivity extends Activity { 
    WebView webview; 
@Override 
    public void onCreate(Bundle icircle) { 
     super(icircle); 
     this.setContentView(R.layout.main); 
     WebView = (WebView) findViewById(R.id.mainWebView); 
     WebSettings webSettings = WebView.getSettings(); 
     webSettings.setJavaScriptEnabled(true); 


    } 

} 

注意:不要重命名ÿ我們的UI元素或類,如WebView中,TextView的名稱活動...等

1

您試圖定義一個類的WebView作爲活動 的一個子類,但的WebView已經查看的(http://developer.android.com/reference/android/webkit/WebView.html

一個子類方法findViewById(..) Activity將返回一個視圖,您不能將 轉換爲Activity。

可以重命名你的類(就是那個類,你在一開始啓動類?)

嘗試這樣的:

public class MyWebViewActivity extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     WebView myWebView = (WebView) findViewById(R.id.mainWebView); 
     WebSettings webSettings = myWebView.getSettings(); 
     webSettings.setJavaScriptEnabled(true); 
    } 
} 

您還可以調整你的AndroidManifest.xml中。