ResourceCursorAdapter
派生自CursorAdapter
,并添加mInflater
(在构造函数中初始化)。我见过多个来自SimpleCursorAdapter
的自定义适配器示例(反过来又基于ResourceCursorAdapter
),它们也出于同样的目的引入了自己的myInflater
。
是否有任何原因导致mInflater
没有protected
而不是private
,以便它也可以在派生类中使用?
更新:澄清我的问题。
首先,我只是好奇为什么mInflater
没有受到保护。在设计过程中这样做的原因是什么,因为在使用ResourceCursorAdapter
或其子类SimpleCursorAdapter
作为基类时会非常方便?我终于通过扩展CursorAdapter
来实现我的游标适配器。无论如何,我只是好奇,我可能忽略了一些重要的事情......
我想使用ViewHolder
技术。因此,我想覆盖newView
(它创建一个视图持有者并将其附加到新创建的视图)和bindView
(它获取附加的视图持有者并填充游标中的数据) 。对于newView
方法实现,我需要调用inflater。如果我使用SimpleCursorAdapter
,我会定义由我的子类构造函数初始化的mInflater
与ResourceCursorAdapter
完全相同(稍微优化newView
)。因此,如果超类mInflater
也可用于子类(即不需要在子类中再次定义),那将是很好的。这是我提问的核心。
答案 0 :(得分:1)
ResourceCursorAdapter
是一个特殊的适配器,可以为您进行充气。因此,它的子类不需要inflater。
如果您需要扩充布局,那么ResourceCursorAdapter
可能不是最合适的选择。