Mar*_*kus 1 android fragment back-stack
我找不到解决问题的方法.
我有几个片段(动态创建),但我的后退按钮根本不工作,按下它将关闭应用程序,无论片段是"活动".
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
switch (item.getItemId()) {
case R.id.itemAdd:
FragmentTransaction tx = getFragmentManager().beginTransaction();
Fragment fragment = new NeuesProduktFrag();
tx.setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_right,
R.anim.slide_in_left, R.anim.slide_out_right);
tx.replace(R.id.main, fragment);
tx.addToBackStack(null);
tx.commit();
return true;
Run Code Online (Sandbox Code Playgroud)
一切正常,但进入"NeuesProduktFrag"碎片并按下后退按钮我的应用程序关闭.尝试使用不同的按钮等.不需要覆盖onBackPressed吗?addToBackStack应该诀窍呢?
经过很长一段时间,这是我最后的代码:
@Override
public void onBackPressed() {
// initialize variables
FragmentManager fm = getFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
// check to see if stack is empty
if (fm.getBackStackEntryCount() > 0) {
fm.popBackStack();
ft.commit();
}
else {
if (this.lastBackPressTime < System.currentTimeMillis() - 4000) {
Toast.makeText(this, "Nochmal drücken zum Beenden!", 4000).show();
this.lastBackPressTime = System.currentTimeMillis();
} else{
super.onBackPressed();
}
}
}
Run Code Online (Sandbox Code Playgroud)
我在FragmentActivity中使用它并添加了一个双选项卡来最终关闭App.
| 归档时间: |
|
| 查看次数: |
3766 次 |
| 最近记录: |