0

私は webview に URL をロードするアプリケーションを持っています。しかし、アプリを終了してアプリを再度起動すると、同じページが表示されます。アプリを起動するたびに、メイン ページから開始する必要があります。どうすればよいですか? これが私のoncreatemethodです:

    web = (WebView) findViewById(R.id.webview01);
    progressBar = (ProgressBar) findViewById(R.id.progressBar1);




    web.getSettings().setLoadWithOverviewMode(true);
    web.getSettings().setUseWideViewPort(true);

    web.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
    web.getSettings().setPluginState(PluginState.ON);
    web.getSettings().setJavaScriptEnabled(true); 
    web.setWebViewClient(new myWebClient());

ここに mywebclient クラスがあります:

  public class myWebClient extends WebViewClient {
        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            // TODO Auto-generated method stub

            super.onPageStarted(view, url, favicon);

        }

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            // TODO Auto-generated method stub
             if(url.startsWith("http://www.amazon.com/")) { 

                 Intent i = new Intent(Intent.ACTION_VIEW);
                 i.setData(Uri.parse(url));
                 startActivity(i);
                } 

             else{

        view.loadUrl(url);

             }
            return true;




        }

        @Override
        public void onPageFinished(WebView view, String url) {
            // TODO Auto-generated method stub


            super.onPageFinished(view, url);

            view.setVisibility(View.VISIBLE);
            progressBar.setVisibility(View.GONE);

        }
    }

そして、ここに onresume() があります:

@Override
    protected void onResume() {

        super.onResume();
        web.setVisibility(View.INVISIBLE);
        web.loadUrl("http://savebigshopper.com/maybelline");

    }

助けてください

4

1 に答える 1

0

上記の次のコード行は、アクティビティのどこにありますか?

web = (WebView) findViewById(R.id.webview01);

//...

web.loadUrl("http://savebigshopper.com/maybelline");

私の推測ではonCreate方法です。onResumeそれが原因である場合は、それらをメソッドに移動する必要があります。

編集:本当にもう一度見てみると、本当に移動する必要がある唯一のコードonResumeは次の行です:

web.loadUrl("http://savebigshopper.com/maybelline");

EDIT2:

「すべて正常に動作していますが、もう一度アプリを起動すると、最初に前のページが表示され、次にメイン ページが表示されます」

これは Web ブラウザーのように機能するので、私には理にかなっています。読み込みが完了するまで、webview を非表示にすることができます。

// add this line to your onPageFinished method inside your WebViewClient

view.setVisibility(View.VISIBLE); //Show view when page has loaded.

// inside onResume method

web.setVisibility(View.INVISIBLE); //Hide it first
web.loadUrl("http://savebigshopper.com/maybelline");
于 2012-08-13T23:32:09.433 に答える