2012-08-13 61 views
0

我有一個應用程序,我在webview加載url。但是當我退出應用程序,然後再次啓動應用程序它顯示相同的頁面。我希望每次啓動應用程序應該從主頁開始。我該怎麼做這個?這裏是我的oncreatemethod:如何在每次應用程序啓動時清除webview的數據?

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"); 

    } 

請幫

+0

我已經使用clearhistory,clearcache但沒有什麼是發生 – 2012-08-13 23:00:34

回答

0

的下面幾行代碼是高於他們在活動中的位置?

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

//... 

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

我的猜測是onCreate方法。如果這是你應該將它們移動到onResume方法的原因。

編輯:它非常期待再次證明真正需要移動到onResume唯一的代碼是這一行:

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

EDIT2:

「一切正常但是當我再次啓動應用程序第一次顯示上一頁,然後顯示主頁「

這對我來說很有意義,因爲這會像網絡瀏覽器一樣。你可以隱藏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"); 
+0

這個代碼是在OnCreate中method.But我應該從OnCreate中刪除它們? – 2012-08-13 23:34:58

+0

只是爲了測試我的理論,將您的頂部代碼從oncreate移到resume。然後我會在你的activity中爲你的webview創建一個私有成員,並在oncreate中初始化它,並在onResume方法中調用loadUrl。 – bytebender 2012-08-13 23:39:11

+0

是的,在兩個地方都沒有。 – bytebender 2012-08-13 23:41:49

相關問題