现象
我调用了ListView的setSelection方法,想让选择的Item显示在界面上。但是发现调用了却没有效果。
产生原因
在notifyDataSetChanged 后直接调用了ListView.setSelection(int position)方法
解决办法
不直接调用setSelection方法,而是post到队列中执行。如果ListView的刷新还没有完成,直接就调用setSelection,就会导致无效。
listView.post(new Runnable() {
@Override
public void run() {
listView.setSelection(position);
}
});
在 ListView 刷新未完成前直接调用 setSelection 方法可能导致设置的 Item 位置无效。解决方法是将 setSelection 方法放入 runOnUiThread 或 post 延迟执行。
6805

被折叠的 条评论
为什么被折叠?



