mAdapter.notifyDataSetChanged();
my_list_view.setSelection(1);
这个代码的意思是告诉listview刷新,并且将默认选中第一行,这样第0行的headerView就会隐藏掉
但是有时候会发现根本隐藏不掉,我猜测是由于mAdapter.notifyDataSetChanged()后,listview的刷新是异步完成的,所以在setSelection(1)的时候,有可能第二行还没刷出来
所以如下这样写能保证setSelection(1)的时候第二行刷出来了
new Handler().postDelayed(new Runnable(){
public void run() {
my_list_view.setSelection(1);
}
}, 100);
就是建个线程,100毫秒后再设置选中第二行,100毫秒足够刷出来第二行了,测了一下没问题
my_list_view.setSelection(1);
这个代码的意思是告诉listview刷新,并且将默认选中第一行,这样第0行的headerView就会隐藏掉
但是有时候会发现根本隐藏不掉,我猜测是由于mAdapter.notifyDataSetChanged()后,listview的刷新是异步完成的,所以在setSelection(1)的时候,有可能第二行还没刷出来
所以如下这样写能保证setSelection(1)的时候第二行刷出来了
new Handler().postDelayed(new Runnable(){
public void run() {
my_list_view.setSelection(1);
}
}, 100);
就是建个线程,100毫秒后再设置选中第二行,100毫秒足够刷出来第二行了,测了一下没问题