ListView单行刷新

时间:2022-02-25 20:32:21

之前要改变某一行ListView内容或者显示出删除按钮等,都要adapter.notifyDataSetChanged();刷新一下,数据少还可以,数据多的时候明显会消耗性能,单独刷新某一行就不会了,这还要感谢坤哥(牛人,大学室友)教的方法,我现在分享给大家

 

在你要刷新adapter的地方这样写

position是点击listView的行位置

当然在执行下面2行的代码前要改变数据内容

例如:

if (orderList[pos].getStatus() == 0) {

orderList[pos].setStatus(1);

} else {

orderList[pos].setStatus(0);

}

//此方法单独刷新某一行item

View view = listView.getChildAt(position- listView.getFirstVisiblePosition()); 
listView.getAdapter().getView(position, view, listView );