2013-11-22 12 views
5
  1. Ich versuche, den Verlauf als eine Überprüfung zu verwenden, um die Anwendung zu beenden. Die Home-Schaltfläche lädt die Seite erneut auf google.com, behält jedoch den Seitenverlauf auch nach dem Aufruf von .clearHistory() bei. HierWebView clearHistory() auf Webview canGoback() Funktionalität?

  2. ist der Code für die Menü Handhabung/Auswahlen:

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
        // Handle item selection 
        switch (item.getItemId()) { 
        case R.id.Home: 
         mWebview.loadUrl("http://google.com"); 
         mWebview.clearHistory(); 
         return true; 
        case R.id.About: 
         Toast.makeText(this, "TEXT", Toast.LENGTH_SHORT).show(); 
        return true; 
        default: 
         return super.onOptionsItemSelected(item); 
        } 
    } 
    
  3. Hier ist der Code für die Exit-Funktion:

    @Override 
    public void onBackPressed() { 
        if (mWebview.canGoBack()) { 
        mWebview.goBack(); 
        } 
        else { 
        super.onBackPressed(); 
        } 
    } 
    

Antwort

11

Nach this post müssen Sie rufen clearHistory, wenn die Seite fertig geladen wurde:

Es scheint, dass der Verlauf alles vor der aktuellen Seite löscht, also wenn Ihr Browser auf Seite "A" ist, löschen Sie den Verlauf und navigieren Sie zu Seite "B" Ihre Geschichte wird "A" "B" sein, nicht nur " B“, aber wenn man klar Geschichte, als‚B‘nur Sie haben fertig geladen wird‚B‘

statt clearHistory direkt nach loadUrl aufzurufen, sollten Sie es von onPageFinished oder onProcessChanged envoke.

+2

Dies sollte als richtig markiert werden – peshkira