本文介绍了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()以虚假的?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!