版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/HuangLin_Developer/article/details/81317688
现象
我调用了ListView的setSelection方法,想让选择的Item显示在界面上。但是发现调用了却没有效果。
产生原因
在notifyDataSetChanged
后直接调用了ListView.setSelection(int position)
方法
解决办法
不直接调用setSelection方法,而是post到队列中执行。如果ListView的刷新还没有完成,直接就调用setSelection,就会导致无效。
listView.post(new Runnable() {
@Override
public void run() {
listView.setSelection(position);
}
});