【问题标题】:What happens to String[] from and int [] to when I override newView/bindView in SimpleCursorAdapter当我在 SimpleCursorAdapter 中覆盖 newView/bindView 时,String[] from 和 int [] to 会发生什么
【发布时间】:2013-07-30 22:20:50
【问题描述】:

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

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

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

【问题讨论】:

    标签: android simplecursoradapter


    【解决方案1】:

    现在当我重写时,to/from 参数似乎没用了。

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

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

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

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

    由于这些数组表示来自 Cursor 的列以及将数据绑定到的视图的 ID,因此使用它们是有意义的。

    【讨论】:

      【解决方案2】:

      customAdapter 可以为空,因为您可以从 getView() 控制 TextView 等

      所以你可以通过to/from parameters进行控制

      或来自getView()

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-09-22
        • 1970-01-01
        • 1970-01-01
        • 2020-05-17
        • 2015-01-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多