2015-09-18 140 views
2

如何禁用在android中按下webview的後退按鈕?如何禁用在android中按下webview的後退按鈕?

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) 
{ 
    if (wv1 != null && (keyCode == KeyEvent.KEYCODE_BACK) 
        && wv1.canGoBack()) 
    { 

     wv1.goBack(); 
    } 

    return true; 
} 
+0

請提供更多信息。你想實現什麼?我沒有明白你在問什麼。 –

+0

Webview是否始終可見? – uday

+0

格式已更改。 – Whoami

回答

0

你必須添加以下代碼活動的禁用活動回壓

@Override 
public void onBackPressed() { 

} 
2

如果你想在不可見禁用後退按鈕操作時的WebView可見,使返回按鈕的動作,如果WebView請在您的活動中嘗試以下代碼

@Override 
public void onBackPressed() { 
    if(webview.getVisibility()==View.VISIBLE){ 
     // dont pass back button action 
     if(webview.canGoBack()){ 
     webview.goBack(); 
     } 
     return; 
    }else{ 
     // pass back button action 
     super.onBackPressed(); 
    } 
} 
0

只需重寫onBackPres sed()方法。

@Override 
public void onBackPressed() { } 
0

請試試這個

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

有很多方法可以做到,

解決方案1,覆蓋dispatchKeyEvent()

dispatchKeyEvent()(API級別1,Android 1.0)

請參閱我的回答use dispatchKeyEvent to disable back button

@Override 
public boolean dispatchKeyEvent(KeyEvent event) { 
    // TODO Auto-generated method stub 
    if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) { 
     return true; 
    } 
    return super.dispatchKeyEvent(event); 
} 

解決方案2,覆蓋onBackPressed()

onBackPressed()(API級別5,Android 2.0的)

請參閱Use onBackPressed() to disable back button

@Override 
public void onBackPressed() { 
} 

解決方案3,覆蓋的onkeydown()

的onkeydown()(API級別1,機器人1.0)

參見Use onKeyDown() to disable back button

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_BACK) { 
    //preventing default implementation previous to android.os.Build.VERSION_CODES.ECLAIR 
    return true; 
    } 
    return super.onKeyDown(keyCode, event);  
}