相关疑难解决方法(0)

片段addToBackStack()和popBackStackImmediate()不起作用

我目前正在构建一个Android应用程序(14 <= SDK <= 21),使用一个ActionBarActivity或多个Fragments,例如ListFragmentMapFragment,它们在一个FrameLayout视图中交换.

ActionBarActivity自动替换/提交片段A.然后,当用户点击一个按钮时,托管活动替换/提交一个新的不同片段B.我的目标是让用户在按下后退按钮时返回片段A .

现在有些代码了.

主要活动

public class MainActivity extends ActionBarActivity implements StopFragment.OnFragmentInteractionListener,
    StopItemFragment.OnFragmentInteractionListener {
...

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        fragmentManager = getFragmentManager();
        fragmentManager.enableDebugLogging(true);
        ...
        if (fragmentManager.findFragmentById(R.id.content_frame) == null) {
            StopItemFragment list = StopItemFragment.newInstance(null); //A - extends ListFragment
            fragmentManager.beginTransaction()
                .replace(R.id.content_frame, list)
                .addToBackStack(null)
                .commit();
        }
        ...

        @Override
        public void onFragmentInteraction(String id) {
        selectItem(Integer.parseInt(id));
        }


       private void selectItem(int position) {
       StopFragment fragment = StopFragment.newInstance(null, null); …
Run Code Online (Sandbox Code Playgroud)

android android-fragments back-stack

26
推荐指数
3
解决办法
5万
查看次数

标签 统计

android ×1

android-fragments ×1

back-stack ×1