2010-05-28 47 views
1

我是Android開發新手,我正在嘗試使用官方Android站點中的WebView示例。「Hello,WebView」示例

http://developer.android.com/guide/tutorials/views/hello-webview.html

但我做的一切,他們說...這是非常簡單的:我創建項目,編輯佈局文件,然後我添加代碼等,沒有問題建設中...但是當我在模擬器中啓動應用程序我只是得到了一個黑屏。這就好像佈局是空的,就像WebView沒有被創建一樣。

我在做什麼錯?

回答

8

對不起,–該鏈接有點過時。本教程的固定的版本可以在這裏找到:

http://developer.android.com/guide/webapps/webview.html

我們應該刪除舊的鏈接;我會提交一個錯誤。

注意,錯誤是setContentView沒有被調用。

在onCreate方法
+1

羅馬嗨, 謝謝您的回答。我試過這個新的教程,並且讓它工作,雖然它也有一個bug。在佈局中,當打開WebView標記時...應該是這樣的: arakn0 2010-05-29 01:22:25

+0

你能告訴我到底發生了什麼嗎?你提到的錯誤是setContentView沒有被調用,但我正在調用。我的onCreate方法看起來像這樣: public void onCreate(Bundle savedInstanceState) { \t super.onCreate(savedInstanceState); \t setContentView(R.layout.main); \t webview =(WebView)findViewById(R.id.webview); \t webview.getSettings()。setJavaScriptEnabled(true); \t webview.loadUrl(「http://www.google.com」); ) 我在其他項目中有相同的代碼,它的工作原理,但佈局文件是不同的。 在此先感謝! – arakn0 2010-05-29 01:52:06

+0

你對新教程感興趣 - 它缺少'xmlns:android'。舊教程缺少'setContentView',但我不確定除此之外還有什麼其他錯誤。如果您發佈了以前的所有代碼,則有人可能會發現該錯誤。 – 2010-05-29 08:48:02

2

添加WebView.enablePlatformNotifications();

清單文件

添加

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission> 

現在它工作正常...

0
webview_id = (WebView)findViewById(R.id.webview_id); 
    webview_id.getSettings().setJavaScriptEnabled(true); // enable javascript 
    WebSettings webSettings = webview_id.getSettings(); 
    webSettings.setBuiltInZoomControls(true); 
    webSettings.setDisplayZoomControls(true); 
    webSettings.setPluginState(WebSettings.PluginState.ON); 
    webSettings.setJavaScriptEnabled(true); 
    webview_id.setInitialScale(90); 
    webSettings.setLoadWithOverviewMode(true); 
    webview_id.requestFocusFromTouch(); 
    webview_id.setWebViewClient(new WebViewClient() { 
     public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { 
      Snackbar.with(getApplicationContext()).dismiss(); 
      Snackbar.with(getApplicationContext()) // context 
        .text(description) // text to display 
        .show(MainActivity.this); 
     } 
     public void onPageFinished(WebView view, String url) { 
      progressBar.setVisibility(View.GONE); 
     } 
    }); 


    if(isNetworkAvailable()){ 

     webview_id .loadUrl("http://helloworld.org/"); 
    }else{ 
     Snackbar.with(getApplicationContext()).dismiss(); 
     Snackbar.with(getApplicationContext()) // context 
       .text("Please Check your Internet Connection") // text to display 
       .show(MainActivity.this); 
     progressBar.setVisibility(View.VISIBLE); 
    } 
} 
+0

你也應該寫一些文字來解釋你做了什麼。源代碼只有答案不好。 – JuHwon 2015-06-01 11:40:47