为什么ListView的setSelection无效了?

来源:互联网 发布:淘宝高达模型店推 编辑:程序博客网 时间:2024/05/21 09:43

原因一:界面初始化完成之后listview失去了焦点。

原因二:因为listview的item高度不一致,或者添加了headerview,在setadapter之后调用setSelection无法准确定位。

万能解决方法:

final ListView listView = new ListView(getActivity());listView.post(new Runnable() {    @Override    public void run() {        listView.requestFocusFromTouch();//获取焦点         listView.setSelection(listView.getHeaderViewsCount()+10);//10是你需要定位的位置    }});
如果还不行,没关系

final ListView listView = new ListView(getActivity());listView.postDelayed(new Runnable() {    @Override    public void run() {        listView.requestFocusFromTouch();        listView.setSelection(listView.getHeaderViewsCount()+10);    }},500);



2 0
原创粉丝点击