在2个列表之间导航时的最佳用户体验(片段/活动)

时间:2015-02-19 18:50:55

标签: android android-fragments android-listview user-experience android-recyclerview

这个问题更多地是我更好地理解处理这种内容流的“正确”方式,而不仅仅是“无论什么工作”或“最快”的代码解决方案。我正在寻找最佳的性能和用户体验。

情况:

所以我的主要活动处理我的NavigationDrawer并且是应用程序的基础。加载的初始视图(navitem 0)是一个片段,其中包含RecyclerView(自定义适配器,列表项模型,视图持有者)。此列表显示从XML文件中提取的数据,并作为Topic对象的Arraylist返回(每个对象包含3个字符串和一组Issue个对象)。

Topic个对象数组用于填充包含titledesecriptionimage_name字符串的列表项。 (尚未使用Issue数组)。

这是你进来的地方......

我知道需要处理Topic上的click事件并显示该Issue的特定Topic对象数组的新列表(带有不同的适配器)。

我想知道用新的片段替换当前片段来处理Issue数据是否更好。或者,最好是启动一个新活动来显示Issue列表数据。

请记住,我想确保导航将用户返回到上一个视图。即。点击Topic时,您应该获得该主题的Issues。返回时,应显示TopicFragment及其初始列表。

如果这让你感到困惑?

这个问题的核心部分是需要知道显示List的正确导航方式,当单击时需要显示另一个特定于父对象的List。片段到片段是由MainActivity中的回调处理最好的方法,还是Intent'ing到另一个活动来更好地处理第二个列表?

1 个答案:

答案 0 :(得分:1)

无论您使用Fragment还是Activity来显示第二个列表,从性能角度来看都无关紧要。如果我是你,我会使用Activity:仅在需要明确使用Fragment的情况下使用Fragment总是更好(例如{ {1}}或FragmentTabHost)。

但我确实有另一个建议。为什么不将ViewPager对象显示为Issue的子项,将ExpandableListView个对象显示为父项,而不是转到另一个列表?然后,当用户单击Topic子项时,转到包含该Issue对象详细信息的详细信息页面。对我来说,List-> Detail模式比List-> List-> Detail流程更熟悉。它是Issue的作用。