webview在几毫秒内到来并消失

时间:2013-07-27 10:05:49

标签: android

运行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):活动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()的调用?

2 个答案:

答案 0 :(得分:0)

只需在shouldOverrideUrlLoading(....)方法

中更改此行代码即可

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

 view.loadUrl(url);
 return false;


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

答案 1 :(得分:0)

除去

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

就是这样。

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