在 2 个列表之间导航时的最佳用户体验(片段/Activity)
Best User Experience when navigating between 2 Lists (Fragment / Activity)
我想通过这个问题更好地理解 "Proper" 处理此内容流的方式,而不仅仅是 "whatever works" 或 "quickest" 代码解决方案。我正在寻找最佳的性能和用户体验。
情况:
所以我的主要 activity 处理我的 NavigationDrawer 并且是应用程序的基础。加载的初始视图 (navitem 0) 是一个片段,其中包含一个 RecyclerView(自定义适配器、列表项模型、视图持有者)。此列表显示从 XML 文件中提取的数据,并被 return 编辑为 Topic
个对象的数组列表(每个对象包含 3 个字符串和一个 Issue
个对象的数组)。
Topic
对象的数组用于填充带有 title
、desecription
和 image_name
字符串的列表项。 (尚未使用 Issue
数组)。
这是你进来的地方......
我知道需要处理 Topic
上的点击事件并显示 Topic
的特定 Issue
对象数组的新列表(带有不同的适配器)。
我想知道用处理 Issue
数据的新片段替换当前片段是否更好。或者启动一个新的 activity 来显示 Issue
列表数据会更好吗?
请记住,我想确保向上导航会 return 用户到上一个视图。 IE。单击 Topic
时,您应该获得该主题的 Issues
。返回时,应显示 TopicFragment 及其初始列表。
如果这让您感到困惑?
这个问题的核心部分是需要知道显示列表的正确导航方式,当单击该列表时需要显示另一个特定于父对象的列表。由 MainActivity 中的回调处理片段到片段的最佳方式,还是 Intent'ing to another activity 以更好地处理第二个列表?
无论您使用 Fragment
还是 Activity
来显示第二个列表,从性能的角度来看都没有关系。如果我是你,我会使用 Activity
:最好只在需要明确使用 Fragment
的情况下使用 Fragment
(例如 FragmentTabHost
或 ViewPager
).
不过我还有一个建议要给你。为什么不将 Issue
对象显示为 ExpandableListView
的子项,而将 Topic
对象显示为父项,而不是转到另一个列表?然后,当用户单击 Issue
子项时,转到包含该 Issue
对象详细信息的详细信息页面。对我来说,List->Detail 模式比 List->List->Detail 流程更熟悉。这就是 ExpandableListView
的用途。
我想通过这个问题更好地理解 "Proper" 处理此内容流的方式,而不仅仅是 "whatever works" 或 "quickest" 代码解决方案。我正在寻找最佳的性能和用户体验。
情况:
所以我的主要 activity 处理我的 NavigationDrawer 并且是应用程序的基础。加载的初始视图 (navitem 0) 是一个片段,其中包含一个 RecyclerView(自定义适配器、列表项模型、视图持有者)。此列表显示从 XML 文件中提取的数据,并被 return 编辑为 Topic
个对象的数组列表(每个对象包含 3 个字符串和一个 Issue
个对象的数组)。
Topic
对象的数组用于填充带有 title
、desecription
和 image_name
字符串的列表项。 (尚未使用 Issue
数组)。
这是你进来的地方......
我知道需要处理 Topic
上的点击事件并显示 Topic
的特定 Issue
对象数组的新列表(带有不同的适配器)。
我想知道用处理 Issue
数据的新片段替换当前片段是否更好。或者启动一个新的 activity 来显示 Issue
列表数据会更好吗?
请记住,我想确保向上导航会 return 用户到上一个视图。 IE。单击 Topic
时,您应该获得该主题的 Issues
。返回时,应显示 TopicFragment 及其初始列表。
如果这让您感到困惑?
这个问题的核心部分是需要知道显示列表的正确导航方式,当单击该列表时需要显示另一个特定于父对象的列表。由 MainActivity 中的回调处理片段到片段的最佳方式,还是 Intent'ing to another activity 以更好地处理第二个列表?
无论您使用 Fragment
还是 Activity
来显示第二个列表,从性能的角度来看都没有关系。如果我是你,我会使用 Activity
:最好只在需要明确使用 Fragment
的情况下使用 Fragment
(例如 FragmentTabHost
或 ViewPager
).
不过我还有一个建议要给你。为什么不将 Issue
对象显示为 ExpandableListView
的子项,而将 Topic
对象显示为父项,而不是转到另一个列表?然后,当用户单击 Issue
子项时,转到包含该 Issue
对象详细信息的详细信息页面。对我来说,List->Detail 模式比 List->List->Detail 流程更熟悉。这就是 ExpandableListView
的用途。