我是一名新的 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
吗?