2012-08-13 3 views
0

У меня есть приложение, в котором я загружаю 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"); 

    } 

Пожалуйста, помогите

+0

я уже использую clearhistory, ClearCache, но ничто не случается –

ответ

0

следующие строки кода выше, где они находятся в вашей деятельности?

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

//... 

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

Мое предположение было бы onCreate способ. Если это причина, вы должны переместить их в метод onResume.

EDIT: действительно смотрит на него снова единственный код, который действительно должен быть переход к onResume эта линия:

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

EDIT2:

«Все работает отлично но когда я снова запустил приложение, я покажу предыдущую страницу, затем он отобразит главную страницу «

Это имело бы смысл для меня, поскольку это будет действовать как веб-браузер. Вы можете скрыть веб-просмотр до тех пор, пока он не будет загружен.

// 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? –

+0

просто для проверки моей теории переместите свой верхний раздел кода из oncreate в on resume. Затем я создам частный член для вашего веб-просмотра внутри вашей активности и инициализирую его в oncreate и вызовите loadUrl в методе onResume. – bytebender

+0

да нет в обоих местах. – bytebender

Смежные вопросы