Android 后退按钮在片段中不起作用

byt*_*0de 3 android fragment android-fragments

我是 android 新手,我从 MianActivity 被称为 fragment_1,然后从 fragment_1 被称为 fragment_2。那工作正常。当我从 fragment_2 按下后退按钮时它不起作用(我想回到 fragment_1)

   Fragment someFragment = new Fragment2();
   FragmentTransaction transaction = getFragmentManager().beginTransaction();
   transaction.replace(R.id.relative_layout_to_replace, someFragment );
   transaction.addToBackStack(null);
   transaction.commit();
Run Code Online (Sandbox Code Playgroud)

Ree*_* PK 5

如果您使用工具栏后退按钮,请确保您的片段中有以下代码:

@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //required for back button to work
    setHasOptionsMenu(true);
}
Run Code Online (Sandbox Code Playgroud)

并覆盖此功能:

 @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        Log.i(TAG,"Back Button Pressed");
        switch (item.getItemId()) {
            case android.R.id.home:
                Log.i(TAG,"home on backpressed");
                getActivity().onBackPressed();
                return true;
        }
        return super.onOptionsItemSelected(item);
    }
Run Code Online (Sandbox Code Playgroud)