Android中Listview的getChildAt()只能更新当前显示在屏幕上的Item的解决办法

  一直以为Android ListView可以直接通过item的序号来动态对其设置,然后做过才发现,Android中ListView只能获取当前屏幕中显示的item并更改。所以想要修改指定的item(知道其序号)必须另辟蹊径。在这里,ListView是已经加载完成的。

  首先先进行判断。如果目标Item的序号在当前显示的第一项和最后一项之间( 即>= ListView.getFirstVisiblePosition() && <= ListView.getLastVisiblePosition()),则可直接进行操作。否则记录下目标Item的序号(int temp)。给ListView设置滑动监听(listview.setOnScrollListener(new OnScrollListener()),复写监听函数,在里面判断temp是否在 >= ListView.getFirstVisiblePosition() && <= ListView.getLastVisiblePosition())之间,若是则可以进行操作。

posted @ 2015-06-26 15:47  Thare  阅读(1899)  评论(0)    收藏  举报