【发布时间】:2014-08-09 14:49:54
【问题描述】:
我的 Fragment 上有一个 WebView。但是,我想在“onBackPressed()”上调用一个方法,而不是调用 goBack 我的 WebView。当我点击返回按钮时,我的 WebView 总是返回到上一页,根本不调用我的方法。
@Override
public void onBackPressed() {
if (getSupportFragmentManager().findFragmentByTag("myTag") != null) {
if(myWebView.canGoBack())
//myWebView.goBack();
}else {
super.onBackPressed();
saveAllData();
}
}else{
super.onBackPressed();
saveAllData();
}
}
我尝试了不同的方法,但它不起作用,见下文: 编辑 1:
在我的 Fragment1 上:
public void backButtonWasPressed() {
saveAllData();
}
关于我的活动:
@Override
public void onBackPressed() {
super.onBackPressed();
FragmentManager fm = getSupportFragmentManager();
TopicFragment fragment1 = (TopicFragment)fm.findFragmentById(R.id.content_frame);
fragment1.backButtonWasPressed();
}
请帮忙。
谢谢
【问题讨论】:
-
你应该把
saveAllData()放在onPause中。 -
但它是如何在BackPressed() 上工作的?我想要的是当用户点击设备上的后退按钮时,然后 saveAllData() 执行。
标签: android android-fragments methods android-webview back-button