0

我在 SOF 中阅读了很多关于 CursorAdaptor - newView / getView / bindView 的帖子。

如果我为自动完成文本字段创建自定义适配器,我必须实现 newView() 和 bindView()。

但是有人说,实现 getView() 可以提高滚动时的速度。

所以问题是,

如果在 newView() 上,已经膨胀了一个视图。

public View newView(Context context, Cursor cursor, ViewGroup parent) {
    final LayoutInflater inflater = LayoutInflater.from(context);
    // =Single Line=
    final TextView view = (TextView) inflater.inflate(android.R.layout.simple_list_item_1, parent, false);
    String item = createItem(cursor);
    view.setText(item);    
    return view;
}

所以在 getView() 上,我对它做同样的事情吗?

4

1 回答 1

5

实施getView()newView()/bindView()组在性能方面是相同的,您应该选择后一个选项。对于Cursor基于适配器的getView()方法,实现了该方法,因此它使用视图回收机制以及将行构造委托给newView()(构建行的视图)和bindView()(将数据绑定到行)方法。它还将 移动Cursor到正确的位置。

此外,作为 njzk2 ,指出您应该在bindView()方法中设置视图上的数据。该方法newView()不会为. ListView_ 但是,每次都会调用该方法,在这里您应该将数据从行视图绑定到行视图。newView()bindView()Cursor

于 2013-08-29T09:10:48.813 回答