我是Android開發新手,我正在嘗試使用官方Android站點中的WebView示例。「Hello,WebView」示例
http://developer.android.com/guide/tutorials/views/hello-webview.html
但我做的一切,他們說...這是非常簡單的:我創建項目,編輯佈局文件,然後我添加代碼等,沒有問題建設中...但是當我在模擬器中啓動應用程序我只是得到了一個黑屏。這就好像佈局是空的,就像WebView沒有被創建一樣。
我在做什麼錯?
我是Android開發新手,我正在嘗試使用官方Android站點中的WebView示例。「Hello,WebView」示例
http://developer.android.com/guide/tutorials/views/hello-webview.html
但我做的一切,他們說...這是非常簡單的:我創建項目,編輯佈局文件,然後我添加代碼等,沒有問題建設中...但是當我在模擬器中啓動應用程序我只是得到了一個黑屏。這就好像佈局是空的,就像WebView沒有被創建一樣。
我在做什麼錯?
對不起,–該鏈接有點過時。本教程的固定的版本可以在這裏找到:
http://developer.android.com/guide/webapps/webview.html
我們應該刪除舊的鏈接;我會提交一個錯誤。
注意,錯誤是setContentView
沒有被調用。
添加WebView.enablePlatformNotifications();
添加
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
現在它工作正常...
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);
}
}
你也應該寫一些文字來解釋你做了什麼。源代碼只有答案不好。 – JuHwon 2015-06-01 11:40:47
羅馬嗨, 謝謝您的回答。我試過這個新的教程,並且讓它工作,雖然它也有一個bug。在佈局中,當打開WebView標記時...應該是這樣的:
arakn0
2010-05-29 01:22:25
你能告訴我到底發生了什麼嗎?你提到的錯誤是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
你對新教程感興趣 - 它缺少'xmlns:android'。舊教程缺少'setContentView',但我不確定除此之外還有什麼其他錯誤。如果您發佈了以前的所有代碼,則有人可能會發現該錯誤。 – 2010-05-29 08:48:02