0

我对 android 比较陌生,所以我尝试了一个我认为很简单的应用程序,但我遇到了一个与视图/活动流有关的问题,我无法理解。

我有一个使用 Viewpager 创建选项卡的 fragmentActivity,每个选项卡都是它自己的片段类,这一切都很好并且可以正常工作,但是现在我需要让其中一个选项卡显示一个列表,选择后它会将您带到另一个“视图”,我的问题是如何创建第一个列表,然后如何处理单击该列表中的项目以将您带到新视图,以便选项卡保持原位并且后退按钮不会退出应用程序。

目前,我用一个使用 arrayAdapter 来构建自身的列表片段换出了片段,这在列表中一直有效,但我一生都无法弄清楚如何使用它的 onclick() 方法继续前进下一个屏幕,不会像我说的那样丢失标签或让后退按钮直接退出。

所以我不确定A,列表片段是否是要走的路,或者B是否是如何正确移动到新屏幕

如果需要,我可以发布代码,但它是提到的类的非常通用的实现,所以我不确定代码是否会有所帮助

4

2 回答 2

1

您要处理单击列表中项目的回调是onListItemClick

至于呈现一个新屏幕,您可以使用FragmentTransaction将您的片段替换为新片段,如果您在 ViewPager 中执行此操作会有点麻烦。代码看起来像这样:

FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.some_containging_view, new SomeFragment())
    .addToBackStack(null).commit();

否则,您可以简单地启动一个新的活动,这更简单,但意味着选项卡不会出现在新屏幕上,除非您在那里复制它们。

于 2013-03-07T23:57:33.300 回答
0

终于在这里找到了一个优雅的解决方案,它在我的列表片段周围使用了一个包装器片段,因此寻呼机只关心包装器,同时在包装器中我可以根据我的心愿执行片段事务,一个小提示链接代码使用 getChildFragmentManager( ) 需要从 support.app 更改为常规的 fragmentmanager() 才能使 backstack 工作正常。

于 2013-03-12T03:32:26.237 回答