【问题标题】:webview comes and disappered within millisecondswebview 在几毫秒内出现并消失
【发布时间】:2013-07-27 10:05:48
【问题描述】:

Oncreate 方法运行,它显示 Web 视图,并在应用程序运行的几毫秒内消失。

我在 stackoverflow.com 上搜索了其他类似的问题并使用相同的代码。

对不起,问题很简单,但我是初学者。

 private WebView webview;
        private static final String TAG = "Main";
        private ProgressDialog progressBar;  

        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);

            requestWindowFeature(Window.FEATURE_NO_TITLE);

            setContentView(R.layout.launch_page);

            webview = (WebView)findViewById(R.id.web_view);
            webview.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
           // WebSettings settings = webview.getSettings();
            webview.setWebViewClient(new WebViewClient() {
                @Override
                public boolean shouldOverrideUrlLoading(WebView view, String url) {
                   return super.shouldOverrideUrlLoading(view, url);
                }
            });

            webview.loadUrl("http://www.google.com");
        }

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <WebView android:id="@+id/web_view"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1" />
</LinearLayout>

错误 07-27 15:48:27.270: E/ActivityThread(4160): Activity com.green.iyengertv.FirstLaunch 泄露了最初在这里注册的 IntentReceiver com.android.qualcomm.browsermanagement.BrowserManagement$1@4145b4d8。您是否错过了对 unregisterReceiver() 的调用? 07-27 15:48:27.270: E/ActivityThread(4160): android.app.IntentReceiverLeaked: Activity com.green.iyengertv.FirstLaunch 泄露了最初在此处注册的 IntentReceiver com.android.qualcomm.browsermanagement.BrowserManagement$1@4145b4d8 .您是否错过了对 unregisterReceiver() 的调用?

【问题讨论】:

    标签: android


    【解决方案1】:

    只需在 shouldOverrideUrlLoading(....) 方法中更改这行代码

    而不是使用return super.shouldOverrideUrlLoading(view, url);

     view.loadUrl(url);
     return false;
    


    如果你在这个方法中return true;,那么会打开一个外部的WebView,并在那里打开重定向的URL。
    如果您在此方法中return false;,则请求将在您的 WebView 中处理。

    【讨论】:

    • 你的意思是,www.google.com 被加载到 webview 中,然后 webview 消失了?
    • 我只想要简单的 webview 和加载 url 但它现在打开不同的浏览器
    • public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.launch_page); webview = (WebView)findViewById(R.id.web_view); webview.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY); this.webview.loadUrl("google.com");
    • 请附上您的 Manifest.xml 文件的代码以及您的问题。
    • 只需编辑您的问题并将其粘贴到我的清单文件的标题中:
    【解决方案2】:

    删除

            webview.setWebViewClient(new WebViewClient() {
                @Override
                public boolean shouldOverrideUrlLoading(WebView view, String url) {
                   return super.shouldOverrideUrlLoading(view, url);
                }
            });
    

    仅此而已。

    如果你什么都不做,为什么还需要它?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-04-12
      • 2011-05-10
      • 1970-01-01
      • 2013-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多