我已经成功地遵循了关于RecyclerView
的教程 here .
但我想知道我是否可以在 RecyclerView
中使用 Fragments
而不是普通的旧 Views
来构建更复杂的行为。
使用 fragment 可以帮助制作具有复杂行为的可重用项目,这些项目可以放置在其他地方并且更加灵活。
这可能吗?如果可能,怎么做?
最佳答案
RecyclerView 用于重复使用不同数据的 View ,它设计用于长滚动列表,因为膨胀(构建) View 对象需要一些努力,因此回收会占用您刚刚滚动到屏幕顶部的 View , 快速填充新数据并将其放在底部。
我不认为使用这样的 fragment 会很好,每当您滚动列表时,它都需要重新创建并运行其各种设置方法,这将非常昂贵。如果你做到了,那么它就不必那样做 (setRetainInstance()),那么你就不会从它那里得到任何你不会从 View 中得到的东西。
如果这就是你想要的,那么是的,你可以创建一个 fragment ,设置它,将其标记为保留并保留对它的引用,以便它在内存中徘徊,以便你重新附加到其他父级其他时间。但是,如果您必须更改其内容并重新构建它,那么您将不会有太大收获。
关于机器人: fragment 的 Recyclerview?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29183162/