Android BaseAdapter:是否将HassTableId()设置为false?
我有一个Android BaseAdapter:是否将HassTableId()设置为false?,android,android-listview,Android,Android Listview,我有一个ListView,它使用BaseAdapter的子类。适配器使用项索引(位置)作为ID,因此ID不稳定(对基础数据的操作之一是在两个数据项之间交换) 我是否需要在适配器中重写hastTableId()以返回false 查看BaseAdapter这里有什么建议吗 默认值为false 不,如果您想要默认行为,您不需要重写hasStableIds(),因为它是一种接口方法,通过接口实现,因此必须提供该方法的默认实现 但是,您确实需要重写getItemId(int位置),因为它是BaseAd
ListView
,它使用BaseAdapter
的子类。适配器使用项索引(位置)作为ID,因此ID不稳定(对基础数据的操作之一是在两个数据项之间交换)
我是否需要在适配器中重写hastTableId()
以返回false
查看BaseAdapter
这里有什么建议吗
默认值为false
不,如果您想要默认行为,您不需要重写
hasStableIds()
,因为它是一种接口方法,通过接口实现,因此必须提供该方法的默认实现
但是,您确实需要重写
getItemId(int位置)
,因为它是BaseAdapter类的抽象方法。对于getItemId,您应该返回什么?
// Is this required? Isn't this the default?
@Override
public final boolean hasStableIds() {
return false;
}
@Override
public final long getItemId(int position) {
return position;
}