![]() |
1
26
这取决于适配器实现…如果您查看源代码,您将看到:
这是它的实现:
|
![]() |
2
28
据我所知,
它帮了我很大的忙 this video --有两个部分会提到这些方法并解释如何正确使用它们。也许这对你也有帮助:) |
![]() |
3
18
我最近碰到这个问题,想为那些以编程方式想知道你打电话时发生了什么事情的人详细说明一下。
正如@cristian在他的回答中所说,当您在适配器上调用这些notify方法时,它基本上通过几个类调用,最后调用
如果你遵循代码,你会看到
如果这是故事的结尾,那么为什么Android框架工程师总是告诉我们,如果他们什么都不做,为什么要调用这些方法呢?这需要一些挖掘,但事实证明这已经是一个子类了
在这里,你可以看到这些方法实际上做的所有疯狂的事情。文档不好,起初我认为我需要注册自己的子类
*一些我认为有用的东西:我相信你可以注册多个
|
![]() |
4
3
根据 the world of listView “在讲座中,每次ListView没有要显示的内容(意味着空数据)时都应该使用它。 他们讨论的一个例子是当过滤完成时(在“PublishResults”方法上)。在演讲视频上,是36:00。 奇怪的是,他们为什么不把它和notifydatasetchanged合并,后者可以检查项目的数量并决定自己调用它… 根据我所看到的,演讲中所说的并不完全正确。如果适配器以前显示过某些内容,但现在不包含任何内容,现在您调用notifydatasetinvalidated,则不会发生任何情况,因此内容将保留,因此我认为只有在数据不变时才使用notifydatasetinvalidated是安全的。 例如,如果您处理筛选,并且获得与以前相同的结果(并且可能足以检查结果的数量),则可以调用notifydatasetinvalidated而不是notifydatasetchanged。 |
![]() |
Murilo · Jetpack编写导航栏项目图标 4 月前 |
![]() |
KolaYAndr · 活动RESULT_OK似乎从未发生过 5 月前 |
![]() |
psycho_pat · Android应用程序中的权限 5 月前 |
|
FarazFiroz · 如何将argb转换为描述性文本颜色 5 月前 |
![]() |
Daniel · Unity Android游戏支持的设备数量太少 5 月前 |