如何通过Android中的“推送”在listView中显示内容

时间:2013-01-22 16:48:04

标签: android android-listview android-fragments stack android-listfragment

我是一名新的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类似的操作?

0 个答案:

没有答案