我如何知道使用 RecyclerView 的 DrawerLayout 何时完全填充?
How do I know when a DrawerLayout using a RecyclerView is fully populated?
我正在制作 Material 设计 Navigation Drawer that gets it's content from a RecyclerView. Following the Material Design guidelines, I'm marking the selected item with special highlighting and to make sure the drawer get's the correct item highlighted I set the highlighting in my activity's onResume() 方法。
我的问题是这只是有时有效。通常当我启动该应用程序时它可以正常工作,但如果我通过从 Android 最近的应用程序列表中将其滑出并再次启动它来终止该应用程序,它就无法工作。
在这种情况下,在任何内容添加到我的 RecyclerView 之前调用 onResume(),所以我无法突出显示任何内容。
我如何知道我的 RecyclerView 何时已完全初始化?或者,除了我可以使用的 onResume() 之外,还有其他方法可以在抽屉和 RecyclerView 保证准备就绪时调用吗?
通常,在初始化 AdapterView
或 RecyclerView
时,您希望适配器拉取项目的配置,而不是试图找出推送配置的时间。不仅这避免了时间问题,但无论如何您通常都需要该代码来处理诸如物品回收之类的事情。
在 RecyclerView
和 ListView's
"choice mode" 的某些等价物的情况下,让 RecyclerView.ViewHolder
在获取模型数据以填充物品。然后,ViewHolder
可以做任何它需要做的事情来反映那个状态:更新 CompoundButton
,调用 setActivated()
,等等
This sample app demonstrates this in the context of a classic checklist structure implemented using RecyclerView
, and this sample app 使用激活状态而不是 CheckBox
小部件进行演示。
我正在制作 Material 设计 Navigation Drawer that gets it's content from a RecyclerView. Following the Material Design guidelines, I'm marking the selected item with special highlighting and to make sure the drawer get's the correct item highlighted I set the highlighting in my activity's onResume() 方法。
我的问题是这只是有时有效。通常当我启动该应用程序时它可以正常工作,但如果我通过从 Android 最近的应用程序列表中将其滑出并再次启动它来终止该应用程序,它就无法工作。
在这种情况下,在任何内容添加到我的 RecyclerView 之前调用 onResume(),所以我无法突出显示任何内容。
我如何知道我的 RecyclerView 何时已完全初始化?或者,除了我可以使用的 onResume() 之外,还有其他方法可以在抽屉和 RecyclerView 保证准备就绪时调用吗?
通常,在初始化 AdapterView
或 RecyclerView
时,您希望适配器拉取项目的配置,而不是试图找出推送配置的时间。不仅这避免了时间问题,但无论如何您通常都需要该代码来处理诸如物品回收之类的事情。
在 RecyclerView
和 ListView's
"choice mode" 的某些等价物的情况下,让 RecyclerView.ViewHolder
在获取模型数据以填充物品。然后,ViewHolder
可以做任何它需要做的事情来反映那个状态:更新 CompoundButton
,调用 setActivated()
,等等
This sample app demonstrates this in the context of a classic checklist structure implemented using RecyclerView
, and this sample app 使用激活状态而不是 CheckBox
小部件进行演示。