之前一直没注意过ScrollView的 scrollTo (int x, int y) 方法(滚动到某个位置),最近在使用ScrollView嵌套ListView的时候,在网络获取数据之后给Listview设置适配器之后自动滚动到了下面,这显然不是我想要的效果,于是想着调用scrollTo (0,0)方法滚动到顶部,然而没有其效果,这下我就蒙了~~
调试之后发现scrollTo 方法根本没有进去,最后查资料说是在初始化的时候(onCreate()、onResume()等方法)中无效,原因好像是初始化没有完成,ScrollView无法计算高度,
知道原因之后就好办了,那我们就让初始化完成之后调用就好了,代码如下:
scrollView.post(new Runnable() { @Override public void run() { scrollView.scrollTo(0, 0); // 滚动到顶部 } });
其中post是每一个view都有的方法,run中的代码将会在初始化完成之后调用。