在扩展SimpleCursorAdapter和重写newView/getView之前,我将指定使用构造函数中的to和from参数填充哪个TextView。
现在,当我重写时,to/from参数似乎是无用的。如果我不将列名传递给"from“,我仍然可以访问该列,同时也不能通过将null传递给/from来构造适配器(因此,我只传递了一个列而不获取NullPointerException)。
,我是否应该在bindView中使用和使用?如果是,怎么做?
发布于 2013-07-30 06:20:50
现在,当我重写时,to/from参数似乎是无用的。
SimpleCursorAdapter
被设计成一个简单的适配器(顾名思义),将有限范围的视图绑定到Cursor
的数据,通过两个数组(列名到具有指定is的视图)进行映射。如果您重写了SimpleCursorAdapter
(尤其是执行绑定的newView()
和bindView()
方法),那么这些列就没有必要了,因为您将把事情掌握在自己手中。
如果我不将列名传递给"from“,我仍然可以访问该列,同时也不能通过将null传递给/from来构造适配器(因此,我只传递了一个列而不获取NullPointerException)。
尽管您可能会自己进行映射(我不知道您覆盖了哪些方法以及如何实现),但是在适配器代码的其他部分中使用这些列,所以应该避免为这两个数组传递null
。无论如何,真正的问题是SimpleCursorAdapter
是一个简单的基本场景类设计。如果您发现需要重写它,那么最好扩展它的超类CursorAdapter
(它没有这些数组),并做任何您想做的事情。
我应该以某种方式在bindView中习惯吗?如果是这样的话,是怎么做的?
由于这些数组表示来自Cursor
的列和要绑定数据的视图的ids,所以使用它们是有意义的。
发布于 2013-07-30 06:08:17
对于customAdapter
,它们可以是空的,因为您可以从getView()
中控制TextView等
所以您可以通过to/from parameters
进行控制。
或来自getView()
https://stackoverflow.com/questions/17949213
复制相似问题