本文介绍了BaseAdapter:设置hasStableIds()以虚假的?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个的ListView 使用 BaseAdapter 的子类。该适配器使用项目指数(位置)的ID,因此,IDS并不稳定(基础数据的操作之一是两个数据项之间的交换)。

我需要在我的适配器覆盖 hasStableIds()返回false

综观 BaseAdapter 在这里建议

.

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;
}
解决方案

No you do not need to override hasStableIds() if you want the default behavior because its a method of Adapter interface which the BaseAdapter implements through ListAdapter and SpinnerAdapter and therefore has to provide a default implementation of that.

However you do need to override getItemId(int position) because its an abstract method of BaseAdapter class.

这篇关于BaseAdapter:设置hasStableIds()以虚假的?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-27 07:47