has*_*ash 6 android android-fragments
我有片段活动与contatin导航抽屉.点击导航抽屉项后,它打开片段1,片段2,片段3.然后在片段1中按钮点击事件后打开新的片段4.
我想要处理后退按键事件我怎样才能在片段4上执行此操作?在片段4中单击后退键后我想返回片段1.
san*_*ram 20
将碎片添加到BackStack.在commit()事务之前,使用addToBackStack()方法即
addToBackStack("Some String").commit();
Run Code Online (Sandbox Code Playgroud)
并在onBackPressed()
@Override
public void onBackPressed() {
if (getSupportFragmentManager().getBackStackEntryCount() > 0) {
getSupportFragmentManager().popBackStack();
} else {
this.finish();
}
}
Run Code Online (Sandbox Code Playgroud)
小智 5
将片段添加到backstack的代码应该是这样的:
getFragmentManager() .beginTransaction() .replace(R.id.content_frame, Entry_Account.newInstance(), Entry_Account.TAG).addToBackStack("Some string") .commit();
Run Code Online (Sandbox Code Playgroud)
然后在On Activity的onBackPressed方法中,使用以下代码段:
@Override
public void onBackPressed () {
if(getFramentManager().getBackStackEntryCount()>0){
// popback statck.
}
else{
// finish your activity.
}
}
Run Code Online (Sandbox Code Playgroud)