我有一个包含webview的片段。片段在viewPager的所有四个页面中重复使用。我想要的是,当用户点击后退按钮时我希望webView片段返回上一个标签当前的webViewFragment.And最终退出活动。如果webView在这样的活动中,我可以很容易地做到这一点:
@Override
public void onBackPressed() {
if (mWebview.canGoBack())
mWebview.goBack();
else
super.onBackPressed();
}
但是我不能在一个片段中这样做,因为片段不能覆盖onBackPressed()。我怎样才能在viewPager里面的片段中做到这一点
答案 0 :(得分:0)
您可以在网页视图上实施setOnKeyListener
来处理后退按钮。
mWebview.setOnKeyListener(new View.OnKeyListener(){
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK
&& event.getAction() == MotionEvent.ACTION_UP
&& mWebview.canGoBack())
{
mWebview.goBack();
return true;
}
return false;
}
});
如果您的网页浏览中没有上一页,则会触发通常的onBackPressed
。
希望它对你有所帮助。
答案 1 :(得分:0)
此代码非常适合片段webview backpress。
您可以在Webview上实现setOnKeyListener
来处理后退按钮
mWebview.setOnKeyListener(new View.OnKeyListener(){
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK
&& event.getAction() == MotionEvent.ACTION_UP
&& mWebview.canGoBack())
{
mWebview.goBack();
return true;
}
return false;
}
});