我有一个回收站视图,显示了一堆简单的文本视图,一些文本视图旁边有一个按钮。
点击按钮,我会在该特定文本视图旁边显示一个进度条,并显示一个简单的媒体播放器进度。
现在,由于我有一个回收器,当用户在媒体播放器播放一些声音和进度条动画时滚动时,滚动回该项目将使其恢复到原始状态。
有没有办法暂时将商品标记为非回收?或者我是否必须设置一些状态以将回收的视图返回到其播放视图?
答案 0 :(得分:0)
不,您不能将项目标记为非循环。适配器中的所有视图都应该被回收以获得更好的性能。我应该说得更好。因为您的适配器不是创建100个视图或1000,而是仅创建7~8个或更多(取决于屏幕大小)。每当用户滚动时 - Recycler
完成其工作。在您的情况下,您需要跟踪所有项目,例如在某些数据结构中保存每个项目的状态以及所有这些内容。
答案 1 :(得分:0)
或者我是否必须设置一些状态以将回收的视图返回到其播放视图
我最好的选择是让你分别保存每个项目的状态,一旦你的观众被绑定,你就把玩家设置回原来的位置。确保你正确地回收你的物品并相应地绑定它们,否则你最终会把一堆视频设置为错误的时间。
鉴于我们正在谈论视频加载,您可能还想控制RecyclerView
的滚动事件,并且只有在用户停止移动时才启动视频,这样您就可以ll很可能通过不做任何不必要的缓冲来提高你的性能。