android – BaseAdapter:将hasStableIds()设置为false?

前端之家收集整理的这篇文章主要介绍了android – BaseAdapter:将hasStableIds()设置为false?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_404_1@我有一个使用BaseAdapter子类的ListView.适配器使用项目索引(位置)作为id,因此id不稳定(基础数据上的一个操作在两个数据项之间交换).

@H_404_1@我是否需要在我的适配器中覆盖hasStableIds()以返回false?

@H_404_1@看看这里的BaseAdapter建议

@H_404_1@

@H_404_1@that false is the default

@H_404_1@.

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

@H_404_1@

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

@Override
public final long getItemId(int position) {
    return position;
}
最佳答案
如果您需要默认行为,则不需要覆盖hasStableIds(),因为它是Adapter接口的方法,BaseAdapter通过ListAdapterSpinnerAdapter实现,因此必须提供默认实现.

@H_404_1@但是,您确实需要覆盖getItemId(int position),因为它是BaseAdapter类的抽象方法.

猜你在找的Android相关文章