为什么ResourceCursorAdapter中的mInflater是私有的(而不是受保护的)?

时间:2013-08-01 08:38:42

标签: android android-cursoradapter

ResourceCursorAdapter派生自CursorAdapter,并添加mInflater(在构造函数中初始化)。我见过多个来自SimpleCursorAdapter的自定义适配器示例(反过来又基于ResourceCursorAdapter),它们也出于同样的目的引入了自己的myInflater

是否有任何原因导致mInflater没有protected而不是private,以便它也可以在派生类中使用?

更新:澄清我的问题。

首先,我只是好奇为什么mInflater没有受到保护。在设计过程中这样做的原因是什么,因为在使用ResourceCursorAdapter或其子类SimpleCursorAdapter作为基类时会非常方便?我终于通过扩展CursorAdapter来实现我的游标适配器。无论如何,我只是好奇,我可能忽略了一些重要的事情......

我想使用ViewHolder技术。因此,我想覆盖newView(它创建一个视图持有者并将其附加到新创建的视图)和bindView(它获取附加的视图持有者并填充游标中的数据) 。对于newView方法实现,我需要调用inflater。如果我使用SimpleCursorAdapter,我会定义由我的子类构造函数初始化的mInflaterResourceCursorAdapter完全相同(稍微优化newView)。因此,如果超类mInflater也可用于子类(即不需要在子类中再次定义),那将是很好的。这是我提问的核心。

1 个答案:

答案 0 :(得分:1)

ResourceCursorAdapter是一个特殊的适配器,可以为您进行充气。因此,它的子类不需要inflater。

如果您需要扩充布局,那么ResourceCursorAdapter可能不是最合适的选择。