我是一个相对较新的Android所以即时尝试我的手,虽然我会是一个简单的应用程序,但我遇到了一个与视图/活动流程有关的问题,我无法理解。
我有一个使用Viewpager创建选项卡的fragmentActivity,每个选项卡都是自己的片段类,这些都很好并且正常工作,但现在我需要让其中一个选项卡显示一个列表,当选中它时会带你到另一个“视图”,我的问题是如何创建第一个列表,然后如何处理点击该列表中的项目,以带您到新视图,以便标签保持原位,后退按钮不退出应用程序。
目前我已经用一个使用arrayAdapter构建自身的列表片段换出了片段,这已经有效了,但是我不知道如何让我的onclick()方法移动在下一个屏幕上,没有,因为我说失去标签或后退按钮只是退出。
所以我不确定是否A,列表片段是要走的路,或者B,如果它是如何正确地移动到新的屏幕
我可以根据需要发布代码,但它是所提到的类的非常通用的实现,所以我不确定代码会有帮助
答案 0 :(得分:1)
您要处理列表中项目点击的回调是onListItemClick。
就呈现新屏幕而言,您可以使用FragmentTransaction将您的片段替换为新片段,如果您在ViewPager中执行此操作,则会有点毛茸茸。代码看起来像这样:
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.some_containging_view, new SomeFragment())
.addToBackStack(null).commit();
否则,您可以简单地启动一个更简单的新活动,但这意味着除非您在那里复制选项卡,否则这些选项卡不会出现在新屏幕上。
答案 1 :(得分:0)
终于找到了一个优雅的解决方案here,它在我的列表片段周围使用了一个包装器片段,所以寻呼机只关心包装器,同时在包装器中我可以执行片段事务到我心中的愿望,一个小的请注意链接代码使用getChildFragmentManager(),需要将其从support.app更改为常规fragmentmanager(),以使backstack工作正常。