“你好,WebView”的例子

时间:2010-05-28 20:56:40

标签: android webview android-webview

我是android开发的新手,我正在官方android站点中尝试WebView示例。

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

但我做他们说的一切......这很简单:我创建项目,编辑布局文件,然后我添加代码等等。没有问题构建...但是当我在模拟器中启动应用程序时我只是一个黑屏。就像布局是空的一样......就像没有创建WebView一样。

我做错了什么?

3 个答案:

答案 0 :(得分:8)

很抱歉 - 该链接有点过时了。本教程的固定版本可在此处获得:

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

我们应该删除旧的链接;我会提交一个错误。

请注意,错误是setContentView未被调用。

答案 1 :(得分:2)

在oncreate方法中添加WebView.enablePlatformNotifications();

清单文件中的

添加

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

现在它工作正常......

答案 2 :(得分: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);
    }
}