1

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() 的调用?

4

2 回答 2

0

消除

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

就这样。

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

于 2013-07-27T10:50:59.563 回答
0

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

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

 view.loadUrl(url);
 return false;


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

于 2013-07-27T10:12:18.697 回答