2011-06-02 19 views
5

Çalışmak için 'ileri' ve 'geri'imi almak için her şeyi denedim.WebView Back, Yenile, İleri? Basitçe çalışmıyor!

Yenile çalışıyor ['WebView.reload();' okumak için yöntemi değiştirerek çözdüm. 'webView.refresh();' yerine

Herkes ileri ve geri yardımcı olabilir mi? 'Ileri', 'canGoForward' ve 'goForward' ile birlikte 'back', 'canGoBack' ve 'goBack' denedim. Hata kodları yoktur, ancak bu yöntemlerin hiçbiri aslında hiçbir şey yapmaz.

public boolean onCreateOptionsMenu(Menu menu) { 
    super.onCreateOptionsMenu(menu); // Add menu items, second value is the id, use this in the onCreateOptionsMenu 
    menu.add(0, 1, 0, "Back"); 
    menu.add(0, 2, 0, "Refresh"); 
    menu.add(0, 3, 0, "Forward"); 
    return true; // End of menu configuration 
} 
public boolean onOptionsItemSelected(MenuItem item){ // Called when you tap a menu item 
    switch (item.getItemId()){ 
     case 1: //If the ID equals 1, go back 
      webView.goBack(); 
     return true; 
     case 2 : //If the ID equals 2, refresh 
      webView.reload(); 
     return true; 
     case 3: //If the ID equals 3, go forward 
      webView.goForward(); 
     return true; 
     } 
    return false; 
    } 
@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { // Enables browsing to previous pages with the hardware back button 
    if ((keyCode == KeyEvent.KEYCODE_BACK) && webView.canGoBack()) { // Check if the key event was the BACK key and if there's history 
     webView.goBack(); 
     return true; 
    } // If it wasn't the BACK key or there's no web page history, bubble up to the default 
     // system behavior (probably exit the activity) 
    return super.onKeyDown(keyCode, event); 
} 

}

cevap

4

Eğer web görünümünü oluşturma ve adresler arasında seyreden ve kısmı içermez ortak kod. Yani sadece neler olabileceğine dair bir tahminde bulunuyorum.

webview, sorunuzda bölümünüzün göstermiş olduğu sınıfınızın bir örnek alanı gibi görünüyor. Yeni bir sayfaya gittiğinizde webView yeniden oluşturuluyor olabilir mi? Bu kod gibi bir şey, şudur: Bu yapılıyor ne olursa

webview = new WebView(this); 
webview.loadUrl("http://slashdot.org/"); 

, tek ihtiyacınız yaratmaktır 'webView' bir kez ve sadece yeni url gitmek gerekir loadUrl her diyoruz. Bu şekilde, web görünümü örneği geçmişi koruyabilecektir.

+0

Teşekkürler, loadUrl'i önerildiği gibi onardım ve harika çalıştı! Harikasın! –

+0

Kör varsayımın işe yaradığını bilmek güzel :) –