Android ListView单行刷新

jopen 10年前

之前要改变某一行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 );

来自:http://my.oschina.net/u/347158/blog/288348