0
我必須在返回到前一個片段時顯示動畫,所以我必須使用onBackPressed方法。因爲它是avaible只是在活動中,我試圖用一個參考:對片段使用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;
}
});
那麼,它爲什麼沒有工作?
第一種方法應該可以正常工作,但我不認爲需要自定義後退按鈕偵聽器。請參閱http://stackoverflow.com/questions/10886669/how-to-reverse-fragment-animations-on-backstack –
'onBackPressed()'屬於Activity,而不屬於片段 –
只需使用setCustomAnimations和FragmentTransaction即可。 – sswierczek