我有一个在运行时创建的View,然后在旋转屏幕后在该View(运行时)上绘制了一些画布。所有数据都消失了(重置)。因此我将一些代码放在AndroidManifest.xml中,如下所示
android:configChanges="keyboardHidden|orientation"
在我的
<activity>
中,然后放一个@Override
函数@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
setContentView(R.layout.main);
LinearLayout layout = (LinearLayout) findViewById(R.id.myPaint);
layout.addView(mView);
}
但是一切都不能解决我的问题。我想在每次旋转时都将数据保留在View(运行时)中。
那就是我的onCreate函数。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mView = new MyView(this);
setContentView(mView);
mView.requestFocus();
setContentView(R.layout.main);
LinearLayout layout = (LinearLayout) findViewById(R.id.myPaint);
layout.addView(mView);
}
最佳答案
您需要保存并加载要保留的数据。即使您按照自己的方式修改清单后要自己处理屏幕旋转,您仍要自己重新加载视图。重新阅读有关处理运行时更改的参考文档。您需要存储数据并相应地重新加载它。否则,当应用程序重新启动或重新加载ContentView时,它将丢失。
http://developer.android.com/guide/topics/resources/runtime-changes.html
关于android - 在Android中旋转屏幕时查看清晰的数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7789725/