我有一个扩展BaseAdaptor并覆盖 getItemViewType(int position)函数的类。当我交换光标或通知数据集更改时,传入的位置值始终为0.但是,如果我在getItemViewType中调用调试点并调用getCount,则返回的值为4.同样,调用getItem(0),来自同一调试点的getItem(1),getItem(2)和getItem(3)都返回有效结果。
为什么位置不会迭代[0,1,2,3]的任何想法?
答案 0 :(得分:1)
可能是因为getTypeCount
返回" 1" - 所以没有必要实际迭代"位置" - Android假设所有视图类型都相同。
您可能应该覆盖该方法:
public int getViewTypeCount() {
return 1;
}
但首先,请确保你知道它的作用。只有当您拥有不同的类型数据,而不是值时,它才有用。看这篇文章:
getViewTypeCount and getItemViewType methods of ArrayAdapter
答案 1 :(得分:0)
这里的问题是我的ListView的高度太小,所以只有第一行被渲染,因为其他的不可见。