1

我是一名新的 Android 开发人员。

在 iOS 中,有一个类调用UINavigationController,我可以将新的 viewController 推送到堆栈并通过按下“返回”按钮返回到上一个视图。

[self pushViewController: myViewController animated:YES]

据我所知, 的实例UINavigationController具有保存控制器的属性。因此,每个控制器中的所有属性也都保存在堆栈中。

我想知道Android是否可以做类似的事情。现在我有两个片段来模拟iOS的拆分视图。我子类ListFragment表示左侧的`lsit view*,另一个片段表示右侧的项目详细信息。

当用户点击列表视图中的一个项目时,它将转到另一个列表。

        SecondFragment newFragment = new SecondFragment();

        FragmentTransaction transaction = getSupportFragmentManager()
                .beginTransaction();

        transaction.replace(R.id.fragment_container, newFragment);
        transaction
                .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
        getActionBar().setTitle("new items");

        transaction.commit();

        getActionBar().setDisplayHomeAsUpEnabled(true);
        invalidateOptionsMenu();

但是,我想通过单击后退按钮返回上一个视图。我意识到我应该添加如下代码:

transaction.addToBackStack(null);

但是,在我点击后退按钮后,我的应用程序会退出。

如果我想回去,我必须进行另一Fragment笔交易。问题是,我想将内容另存为项目列表,而ListFragment不是将其保存到MainActivity. 从堆栈中检索以前的列表视图内容对我来说要容易得多。

Android中有什么方法可以在iOS中做类似的事情UINavigationController吗?

4

0 回答 0