【问题标题】:"Hello, WebView" example“你好,WebView”示例
【发布时间】:2010-05-28 20:56:40
【问题描述】:

我是 android 开发新手,我正在官方 android 网站上试用 WebView 示例。

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

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

我做错了什么?

【问题讨论】:

    标签: android webview android-webview


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 嗨罗曼,感谢您的回答。我已经尝试了新教程,并且成功了,尽管它也有一个错误。在布局中,打开WebView标签时...必须是这样的: schemas.android.com/apk/res/android" 如果不是..它不会构建。
    • 你能告诉我旧的例子到底发生了什么吗?您提到错误是 setContentView 没有被调用,但我正在调用。我的 onCreate 方法如下所示: public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);设置内容视图(R.layout.main); webview = (WebView) findViewById(R.id.webview); webview.getSettings().setJavaScriptEnabled(true); webview.loadUrl("google.com"); ) 我在其他项目中有相同的代码并且可以工作,但是布局文件不同。提前致谢!
    • 您对新教程的看法是正确的——它缺少xmlns:android。旧教程缺少setContentView,但我不确定除此之外您还有什么其他错误。如果您发布所有以前的代码,那么有人可能会发现错误。
    【解决方案2】:

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

    在清单文件中添加

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

    现在可以正常使用了...

    【讨论】:

      【解决方案3】:
          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);
          }
      }
      

      【讨论】:

      • 你还应该写一些文字来解释你做了什么。仅源代码答案不好。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-05-08
      • 2019-06-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-25
      • 2021-05-03
      相关资源
      最近更新 更多