Android中的Adapter内,有getView方法.
假设你自己定义的某个ListView 或者GridView,有可能在程序运行中修改它们的Item的高度,那么此时getView将被回调.于是就出现position=0的情况.
因为出现这种情况,并且此时item内的对象的引用与正确的position=0是不一样的,它不过一个临时的对象而已.
所以,要加个条件来判断此时是否不是临时的position=0.
- if(parent.getChildCount()==position)
- {
- //里面就是正常的position
- }
- else
- {
- //临时的position=0
- }
用 GridView 经常的出现打印的 getview 很多(比实际 item 项多) ,正常 时应该只多打印一个 getview,而且这个 getview 对应的位置是 0。 ,不正常时答应打印很多 位置为 0 的 getview。

本文探讨了Android中GridView的getView方法在特定情况下被异常回调的问题,尤其是在修改ListView或GridView Item高度时可能出现position=0的临时对象现象。文章提供了一种通过判断条件避免此问题的方法。
907

被折叠的 条评论
为什么被折叠?



