好的..我一定是忽略了某个非常简单的东西,但我认为我正在尝试做一些相当基本的事情.. 就是在屏幕方向变化时保留ScrollView的滚动条位置...
这是我的onSaveInstanceState和onRestoreInstanceState代码.. sView是ScrollView布局的容器。 在我的ScrollView中有一个带有很多TextView的LinearLayout。
@Override
public void onSaveInstanceState(Bundle outState)
{
//---save whatever you need to persist—
outState.putInt("sViewX",sView.getScrollX());
outState.putInt("sViewY",sView.getScrollY());
super.onSaveInstanceState(outState);
}
@Override
public void onRestoreInstanceState(Bundle savedInstanceState)
{
super.onRestoreInstanceState(savedInstanceState);
sViewX = savedInstanceState.getInt("sViewX");
sViewY = savedInstanceState.getInt("sViewY");
sView.scrollTo(sViewX, sViewY);
}
如果我在恢复过程中设置Toast的值为sViewX和sViewY,这些值会被保留并且是正确的。编辑:我尝试在onCreate中执行sView.scrollTo(0,150);,只是想看看是否会将活动打开到下方150像素,但没有成功。我认为我的问题与.scrollTo方法有关。