Java 使用电容后退按钮返回();eclipse中的片段内活动
我已经建立了一个新的应用程序,在该应用程序中,我有3个webview片段。基本上我想实现goBack();在电容式后退按钮上。我确实试过了Java 使用电容后退按钮返回();eclipse中的片段内活动,java,android,eclipse,android-fragments,android-activity,Java,Android,Eclipse,Android Fragments,Android Activity,我已经建立了一个新的应用程序,在该应用程序中,我有3个webview片段。基本上我想实现goBack();在电容式后退按钮上。我确实试过了 @Override public void onBackPressed() { webView.goBack(); return; } 而且 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BA
@Override
public void onBackPressed() {
webView.goBack();
return;
}
而且
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
webView.goBack();
return false;
}
return super.onKeyDown(keyCode, event);
}
但我最终会犯错误。谁能帮我做这个。非常感谢。
这是一个
public class AdminM extends FragmentActivity implements ActionBar.TabListener
您会得到“AdminM.Fragment2类型的onBackPressed()方法必须重写或实现超类型方法”,因为您添加了重写注释,但Fragment中没有onBackPressed方法。只能在“活动”中重写onBackPressed。
您可以查看和文档,查看哪些方法可以覆盖,哪些方法不能覆盖
正确的方法是每次访问FragmentManager之前都从FragmentManager中检索片段。这样,您就可以确保使用了正确的实例。如果片段为null,则不附加它
活跃
@Override
public void onBackPressed() {
final WebViewFragment fragment = (WebViewFragment) fragmentManager.findFragmentById(fragmentId);
if (fragment == null || !fragment.onBackPressed()) {
super.onBackPressed();
}
}
在Fragment中,创建一个方法,该方法在WebView返回时返回true,否则返回false。
每次检查webView是否为空,因为fragmen有自己的生命周期机制
public boolean onBackPressed() {
if (webView != null && webView.canGoBack()) {
webView.goBack();
return true;
}
return false;
}
什么样的错误?你能展示一下吗?AdminM.Fragment2类型的onBackPressed()方法必须重写或实现一个超类型方法对不起,这可能是一个愚蠢的问题,但是你能告诉我应该把这个活动部分放在哪里吗!有2个错误1:无法解析fragmentManager 2:类型的onBackPressed()方法未定义WebView@user2966615您将得到错误,因为您必须修改代码。创建fragmentManager字段并用实际片段id替换fragmentId。您引用的片段应称为WebViewFragment或用实际片段名称替换“WebViewFragment”。你必须处理片段是否可见,才能正确使用后退按钮,因为你有标签,但这完全是另一回事。