我制作的素材设计Navigation Drawer可以从RecyclerView获取内容。在Material Design guidelines之后,我会使用特殊突出显示标记所选项目并确保抽屉突出显示正确的项目我在我的活动{{3}中设置突出显示方法。
我的问题是,这只会有效。通常当我启动应用程序时它会起作用,但是如果我通过从Android最近的应用程序列表中滑出来杀死应用程序,然后再次启动它就无法正常工作。
在这种情况下,在将任何内容添加到我的RecyclerView之前调用onResume(),因此我无法突出显示任何内容。
我怎么知道我的RecyclerView何时完全初始化?另外还有一些其他方法比onResume()我可以使用,当抽屉和RecyclerView保证准备就绪时调用吗?
答案 0 :(得分:1)
通常,在初始化AdapterView
或RecyclerView
时,您希望适配器提取项目的配置,而不是试图找出推送配置的时间。这不仅避免了时间问题,但你通常需要该代码来处理物品回收等事情。
对于RecyclerView
和某些等效的ListView's
“选择模式”,当获取模型数据以填充项目时,让RecyclerView.ViewHolder
拉入已检查状态。然后,ViewHolder
可以做任何事情来反映该状态:更新CompoundButton
,致电setActivated()
等。
This sample app在使用RecyclerView
实施的经典核对表结构的上下文中演示了这一点,而this sample app使用激活状态而不是CheckBox
小部件来演示这一点。