最后方法:
listview.post(new Runnable()
{
@Override
public void run()
{
listview.setSelection(listview.getHeaderViewsCount());// 你需要定位的位置
}
});
1、直接调用
listview.setSelection(position)
这样直接无效,我的listview中的子项没有button和editText,listview中加了headerview。(ps:无效的理由还没完全确定)
2、当我使用网上说的
listview.post(new Runnable()
{
@Override
public void run()
{
listView.requestFocusFromTouch();
listview.setSelection(listview.getHeaderViewsCount());// 你需要定位的位置
}
});
这样的时候虽然可以定位到第一个了,但是销毁当前页面,回到上一个页面,出现一个莫名其妙的bug。上一个页面的仪表盘百分百出现第一个仪表重绘失败。并且gridview的第一项被滚动到最顶端。