我是一名新的Android开发人员。
在iOS中,有一个名为UINavigationController
的类,通过它可以将新的viewController推送到堆栈并通过按下“后退”按钮返回到上一个视图。
[self pushViewController: myViewController animated:YES]
据我所知,UINavigationController
的实例具有保存控制器的属性。因此,每个控制器中的所有属性也会保存在堆栈中。
我想知道Android是否可以做类似的事情。
现在我有两个片段来模拟拆分视图作为iOS。
我将ListFragment
子类化为左侧的`lsit视图*,另一个片段代表右侧的项详细信息。
当用户点击列表视图中的一个项目时,它将转到另一个列表。
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
类似的操作?