0

我试图回到我以前的片段

所以我尝试使用onBackPressed(),这是我的代码

@Override
public void onBackPressed()
{
    if(getFragmentManager().getBackStackEntryCount() > 0)
        getFragmentManager().popBackStack();
    else
        super.onBackPressed();
}

我有一个错误,super.onBackPressed()它说“无法解析方法'onBackPressed'所以我想知道为什么所以我搜索了如何转到我以前的片段并发现我应该使用addToBackStack()

if (fragment != null) {
                android.app.FragmentManager fragmentManager = ((Activity) context).getFragmentManager();
                android.app.FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
                fragmentTransaction.replace(R.id.frame_container_expandable, fragment);
                fragmentTransaction.commit();
            } else {
                Log.e(TAG, "Error in creating fragment");
            }

当我尝试放置 addToBackStack() 时无法识别它。为什么会这样?是因为我在用android.app.FragmentManager吗?还是有其他解决方案?回到上一个片段?感谢您的帮助


在我的 logcat 中它说 Error:(88, 18) error: cannot find symbol method onBackPressed()

4

2 回答 2

0

是的,你可以使用它。

getFragmentManager().popBackStack()

如果您不 addToBackStack 将无法工作

FragmentTransaction transaction = getFragmentManager().beginTransaction();
            transaction.replace(R.id.mainActivity_main_content, fragment).addToBackStack("Fragment");
            transaction.commit();

在您可以点击片段内部之后

@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        View view = inflater.inflate(R.layout.fragment_fragment_end, container, false);

        view.setOnKeyListener(new View.OnKeyListener() {
            @Override
            public boolean onKey(View v, int keyCode, KeyEvent event) {
                if (keyCode == KeyEvent.KEYCODE_BACK) {
                    getFragmentManager().popBackStack();
                    return true;
                }
                return false;
            }
        });
        return view;
    }
于 2015-07-24T09:07:11.813 回答
0

请参阅此文档以从片段中正确返回导航。

http://developer.android.com/training/implementing-navigation/temporal.html

于 2015-07-24T09:08:27.717 回答