【发布时间】:2016-07-30 15:50:52
【问题描述】:
我必须在返回上一个片段时显示动画,所以我必须使用 onBackPressed 方法。由于它仅在活动中可用,因此我尝试使用参考:
@Override
onBackPressed(){
super.onBackPressed();
infoFragment.onBackButtonPressed();
}
在 InfoFragment 中,我定义了 onBackButtonPressed 方法,但它不起作用。 所以我尝试这样:
view.setFocusableInTouchMode(true);
view.requestFocus();
view.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View view, int i, KeyEvent keyEvent) {
if(i==KeyEvent.KEYCODE_BACK){
MainActivity mainActivity=(MainActivity)getActivity();
mainActivity.loadMainFragment();
return true;
}
return false;
}
});
那么,为什么它不起作用?
【问题讨论】:
-
第一种方法应该可以正常工作,但我认为不需要自定义后退按钮侦听器。见stackoverflow.com/questions/10886669/…
-
onBackPressed()属于Activity,不属于Fragment -
只需将 setCustomAnimations 与 FragmentTransaction 一起使用。
-
谢谢@BLACKVVINE 我解决了。
标签: android android-fragments back