为什么ListView的setSelection无效了
1个回答
2016-08-07 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
向TA提问 私信TA
知道合伙人数码行家
采纳数:117538
获赞数:517195
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。
向TA提问 私信TA
关注
展开全部
原因一:界面初始化完成之后listview失去了焦点。
原因二:因为listview的item高度不一致,或者添加了headerview,在setadapter之后调用setSelection无法准确定位。
万能解决方法:
[java] view plain copy
final ListView listView = new ListView(getActivity());
listView.post(new Runnable() {
@Override
public void run() {
listView.requestFocusFromTouch();//获取焦点
listView.setSelection(listView.getHeaderViewsCount()+10);//10是你需要定位的位置
}
});
原因二:因为listview的item高度不一致,或者添加了headerview,在setadapter之后调用setSelection无法准确定位。
万能解决方法:
[java] view plain copy
final ListView listView = new ListView(getActivity());
listView.post(new Runnable() {
@Override
public void run() {
listView.requestFocusFromTouch();//获取焦点
listView.setSelection(listView.getHeaderViewsCount()+10);//10是你需要定位的位置
}
});
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询