好的..我必须在这里忽略一些非常简单的东西,但我想我正在尝试做一些相当基本的事情.只需保留ScrollView的滚动条位置以改变方向...
这是我的onSaveInstanceState和onRestoreInstanceState的代码.sView是ScrollView布局的容器.在我的滚动视图中是一个带有大量textview的线性布局.
@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);
}
Run Code Online (Sandbox Code Playgroud)
如果我在恢复时使用sViewX和sViewY的值设置Toast,则值保持正确.
编辑:我刚尝试做一个sView.scrollTo(0,150); 在我的onCreate ..只是为了看看是否会以150px的速度打开活动,但事实并非如此.我认为我的问题与.scrollTo方法有关.
kef*_*efs 122
我想到了.
因为我在使用setTextTextViews onCreate,所以调用.scrollTo不起作用.
所以现在我使用以下内容:
sView.post(new Runnable() {
@Override
public void run() {
sView.scrollTo(sViewX, sViewY);
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
31895 次 |
| 最近记录: |