我正在开发一个使用webview打开远程URL的简单Android应用程序,我使用android studio nav。抽屉模板女巫已经在MainActivity.java
这段代码中
@Override
public void onBackPressed() {
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
if (drawer.isDrawerOpen(GravityCompat.START)) {
drawer.closeDrawer(GravityCompat.START);
} else {
super.onBackPressed();
}
}
现在我想使用这段代码在用户浏览远程网站的某些页面时启用返回按钮
if(mWebView.canGoBack()) {
mWebView.goBack();
在我测试时,public void onBackPressed()
MainActivity.java
不能两次
有关如何实现这一目标的任何想法?
答案 0 :(得分:2)
在现有的if-else中添加if-else分支。 E.g
@Override
public void onBackPressed() {
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
if (drawer.isDrawerOpen(GravityCompat.START)) {
drawer.closeDrawer(GravityCompat.START);
} else if (mWebView.canGoBack()) {
mWebView.goBack();
} else {
super.onBackPressed();
}
}
这样,如果抽屉打开,如果按下后退按钮,它将被关闭。如果它已关闭,您将调用mWebView.goBack();
'直到canGoBack()
返回true
答案 1 :(得分:1)
@Override
public void onBackPressed() {
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
if (drawer.isDrawerOpen(GravityCompat.START)) {
drawer.closeDrawer(GravityCompat.START);
} else {
if(mWebView.canGoBack()) {
mWebView.goBack();
return;
}
super.onBackPressed();
}
}