BaseAdapter:将hasStableIds()设置为false?

5
我有一个使用BaseAdapter子类的ListView。适配器使用项目索引(位置)作为ID,因此ID不稳定(底层数据的操作之一是在两个数据项之间交换)。我需要在适配器中覆盖hasStableIds()并返回false吗?这里查看BaseAdapter表明

默认值为false

.

http://www.netmite.com/android/mydroid/frameworks/base/core/java/android/widget/BaseAdapter.java

// Is this required? Isn't this the default?
@Override
public final boolean hasStableIds() {
    return false;
}

@Override
public final long getItemId(int position) {
    return position;
}
1个回答

4

如果您想要默认行为,那么您不需要覆盖hasStableIds(),因为它是Adapter接口的一个方法,BaseAdapter通过ListAdapterSpinnerAdapter实现,并且必须提供该方法的默认实现。

但是,您需要覆盖getItemId(int position),因为它是BaseAdapter类的一个抽象方法。


1
你应该返回什么来获取getItemId? - android developer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接