getItemViewType位置始终为0

时间:2014-11-13 22:35:48

标签: android android-layout adapter baseadapter

我有一个扩展BaseAdaptor并覆盖 getItemViewType(int position)函数的类。当我交换光标或通知数据集更改时,传入的位置值始终为0.但是,如果我在getItemViewType中调用调试点并调用getCount,则返回的值为4.同样,调用getItem(0),来自同一调试点的getItem(1),getItem(2)和getItem(3)都返回有效结果。

为什么位置不会迭代[0,1,2,3]的任何想法?

2 个答案:

答案 0 :(得分:1)

可能是因为getTypeCount返回" 1" - 所以没有必要实际迭代"位置" - Android假设所有视图类型都相同。

您可能应该覆盖该方法:

public int getViewTypeCount() {
    return 1;
}

但首先,请确保你知道它的作用。只有当您拥有不同的类型数据,而不是时,它才有用。看这篇文章:

getViewTypeCount and getItemViewType methods of ArrayAdapter

答案 1 :(得分:0)

这里的问题是我的ListView的高度太小,所以只有第一行被渲染,因为其他的不可见。