2015-09-18 91 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);  
}