0

在我扩展 SimpleCursorAdapter 并覆盖 newView/getView 之前,我将指定使用构造函数中的 to 和 from 参数填充哪些 TextView。

现在,当我确实覆盖时,to/from 参数似乎没用。如果我没有将列名传递给“from”,我仍然可以访问该列,同时我无法通过将 null 传递给两者来构造适配器(所以我只传递一个列而不是获取 NullPointerException )。

我应该在 bindView 中以某种方式使用 to 和 from 吗?如果是这样,怎么做?

4

2 回答 2

0

这些可以是空的,customAdapter因为您可以控制 TextView 等getView()

所以你可以控制to/from parameters

或从getView()

于 2013-07-30T14:08:17.783 回答
0

现在,当我确实覆盖时,to/from 参数似乎没用。

ASimpleCursorAdapter被设计为(顾名思义)作为一个简单的适配器,将有限范围的视图绑定到 aCursor的数据,通过两个数组进行映射(列名到具有指定 ID 的视图)。如果您覆盖SimpleCursorAdapter(尤其是执行绑定的newView()andbindView()方法),那么这些列就不是必需的,因为您将自己处理事情。

如果我没有将列名传递给“from”,我仍然可以访问该列,同时我无法通过将 null 传递给两者来构造适配器(所以我只传递一个列而不是获取 NullPointerException )。

尽管您可能会自己进行映射(我不知道您覆盖了哪些方法以及如何覆盖)这些列在适配器代码的其他部分中使用,因此null应该避免传递这些数组中的任何一个。无论如何,真正的问题是这SimpleCursorAdapter是一个针对基本场景的简单类设计。如果您发现需要覆盖它,那么您最好扩展它的超类CursorAdapter(没有这些数组)并做任何您想做的事情。

我应该在 bindView 中以某种方式使用 to 和 from 吗?如果是这样,怎么做?

由于这些数组代表视图中的列Cursor和要绑定数据的视图的 ID,因此使用它们是有意义的。

于 2013-07-30T14:20:50.720 回答