这个问题更多地是我更好地理解处理这种内容流的“正确”方式,而不仅仅是“无论什么工作”或“最快”的代码解决方案。我正在寻找最佳的性能和用户体验。
所以我的主要活动处理我的NavigationDrawer并且是应用程序的基础。加载的初始视图(navitem 0)是一个片段,其中包含RecyclerView(自定义适配器,列表项模型,视图持有者)。此列表显示从XML文件中提取的数据,并作为Topic
对象的Arraylist返回(每个对象包含3个字符串和一组Issue
个对象)。
Topic
个对象数组用于填充包含title
,desecription
和image_name
字符串的列表项。 (尚未使用Issue
数组)。
我知道需要处理Topic
上的click事件并显示该Issue
的特定Topic
对象数组的新列表(带有不同的适配器)。
我想知道用新的片段替换当前片段来处理Issue
数据是否更好。或者,最好是启动一个新活动来显示Issue
列表数据。
请记住,我想确保导航将用户返回到上一个视图。即。点击Topic
时,您应该获得该主题的Issues
。返回时,应显示TopicFragment及其初始列表。
这个问题的核心部分是需要知道显示List的正确导航方式,当单击时需要显示另一个特定于父对象的List。片段到片段是由MainActivity中的回调处理最好的方法,还是Intent'ing到另一个活动来更好地处理第二个列表?
答案 0 :(得分:1)
无论您使用Fragment
还是Activity
来显示第二个列表,从性能角度来看都无关紧要。如果我是你,我会使用Activity
:仅在需要明确使用Fragment
的情况下使用Fragment
总是更好(例如{ {1}}或FragmentTabHost
)。
但我确实有另一个建议。为什么不将ViewPager
对象显示为Issue
的子项,将ExpandableListView
个对象显示为父项,而不是转到另一个列表?然后,当用户单击Topic
子项时,转到包含该Issue
对象详细信息的详细信息页面。对我来说,List-> Detail模式比List-> List-> Detail流程更熟悉。它是Issue
的作用。