ListView设置setSelection无效的解决方案

来源:互联网 发布:华为手机数据用户损坏 编辑:程序博客网 时间:2024/05/29 04:15

ListView设置setSelection无效的解决方案

ListView设置setSelection无效的原因:

原因一:界面初始化完成之后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);  
1 0
原创粉丝点击