http://blog.csdn.net/lilu_leo/article/details/7681380 这篇文章使用了 notifyDataSetChanged
可以使用getView方法只需要更新一行即可
public void changeImageVisable(int position) {
int start = mListView.getFirstVisiblePosition();
int end = mListView.getLastVisiblePosition();
View view;
/* 点击不同位置,
* 如果前一次的item还在屏幕内部并且还是可见的,把前一次的item置为不可见,需要getView
* 如果前一次的item已经不在屏幕内部,重置mLastPosVisible即可
* */
if (mLastPosition != position) {
if (mLastPosVisible) {
mLastPosVisible = false;
if ((mLastPosition>=start && mLastPosition <=end)) {
view = mListView.getChildAt(mLastPosition-start);
getView(mLastPosition, view, mListView);
}
}
}
mLast