遇到一个奇怪的现象,GridView中绑定了数据,但是只显示了部分数据,而且只显示一行。查看绑定的adapter的getView方法,其传递进来的position一直为0.
但是adapter中数据源没有问题,大小是对的。这是为什么呢?
经查资料,发现原来是GridView的根元素中存在ScrollView,导致getView的postion参数一直为0,具体原因暂时还不清楚。
不过ScrollView垂直滚动的情况如果还有其他垂直方向需要滚动的控件,使用起来也不方便。
后面改成Gallery或水平滚动的列表,getView的postion参数就正确了,控件显示也正常了。
类似像上面的问题一直困扰着我,决定还是花时间多研究一下android UI方面的机制,只有掌握了原理才可以更加轻松地应对这些问题。