Android 如何从一个片段返回到上一个ActionBarActivity

Android 如何从一个片段返回到上一个ActionBarActivity,android,android-fragments,Android,Android Fragments,如何在单击导航栏back按钮时从一个片段返回到上一个ActionBarActivity 有什么方法可以替代吗?我不能在片段内部使用onBackPressed()方法。您可以通过重写onBackPressed()来实现这一点 当你弹出backstack()时,片段被添加到堆栈中。它转到堆栈中的上一个片段只需从活动中删除onBackPressed()。它会工作的 第二件事 如果要在替换为ListFragent时返回Fragment1,则必须在BackStack中添加Fragment1 Fragmen

如何在单击导航栏back按钮时从一个
片段
返回到上一个
ActionBarActivity


有什么方法可以替代吗?我不能在片段内部使用
onBackPressed()
方法。

您可以通过重写onBackPressed()来实现这一点


当你弹出backstack()时,片段被添加到堆栈中。它转到堆栈中的上一个片段

只需从
活动
中删除
onBackPressed()
。它会工作的

第二件事

如果要在替换为
ListFragent
时返回
Fragment1
,则必须在BackStack中添加
Fragment1

FragmentManager fragmentManager = getFragmentManager();
fragmentTransaction fragmentTransaction =fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.container,
                FragmentObj);
fragmentTransaction.addToBackStack(null).commit();
试着这样使用:

 getView().setOnKeyListener(new View.OnKeyListener() {
        @Override
        public boolean onKey(View v, int keyCode, KeyEvent event) {

            if (event.getAction() == KeyEvent.ACTION_UP && keyCode == KeyEvent.KEYCODE_BACK) {

                // handle back button
                //add the functionality here

            }

            return false;
        }
    });  
在onResume函数中实现它


它应该可以很好地工作。

是否要从保存当前片段的片段活动中返回另一个活动?您不能在片段中重写onBackPressed事件。它无法在片段中重写onBackPressed(),因此我需要一些替代方法我没有在activity类中使用onBackPressed()
 getView().setOnKeyListener(new View.OnKeyListener() {
        @Override
        public boolean onKey(View v, int keyCode, KeyEvent event) {

            if (event.getAction() == KeyEvent.ACTION_UP && keyCode == KeyEvent.KEYCODE_BACK) {

                // handle back button
                //add the functionality here

            }

            return false;
        }
    });