这不是设计问题,我已经设计了项目。我对如何实现它感到困惑。
我的任务是为Android设计一个视图,该视图具有用户帖子及其下的评论的视图。该帖子包含一些额外的信息和与评论完全不同的设计,但是所有这些都需要像网页一样串联滚动(哦,我多年的网络开发让我着迷... em>)。
我当前的解决方案是将LinearLayout
(在视图顶部包含用户的帖子)和RecyclerView
(在帖子下方以显示评论)嵌套在垂直{{1 }}。该信息实际上是显示的,但是ScrollView
当然会独立于其上方的RecyclerView
滚动并破坏视图的功能。
我希望在可能的情况下继续使用LinearLayout
最好的情况是将带有帖子的LinearLayout滚动一定数量,然后由RecyclerView
接管。 但是,我不想用200多行丑陋的代码来毒害我的代码库,以实现这一目标,因此,如果要完成此任务很费力,我宁愿寻找替代方法。
答案 0 :(得分:1)
首先要了解的是:您真的需要RecyclerView
,还是更好,您真的需要回收?
如果答案为是,则处理方法是RecyclerView
的{{1}}中的两种不同的项目类型(有关更多详细信息,请参见here或here)。 Adapter
中已经存在此概念:主要区别在于ListView
强制使用View Holder模式。它并不那么复杂,更重要的是,RecyclerView
是解决该问题的方式。根据您的UI设计,对于不同类型的注释(纯文本,图像等),您可能还希望具有不同的视图类型。请记住,当RecyclerView
中包含RecyclerView
时,回收将无法进行,因为其中的所有项目都将被立即绘制以计算父{{ 1}}。
如果答案为否,则只需在运行时创建视图并将它们添加到ScrollView
中的父视图ScrollView
中即可。真的只不过是一个for循环。
更花哨的方法是在用户的帖子中使用LinearLayout
,但在这种情况下我看不出任何特殊的优势。