由于方向改变而防止android中的状态改变

时间:2012-10-22 05:53:57

标签: android orientation

我在我的应用程序中使用SQLiteDatabase,我手动创建,然后在android应用程序中使用它。要浏览它,我使用的是光标。我正在显示编辑文本中的行的结果。

当方向发生变化时,无论显示的行如何,第一行都会显示在编辑文本中。我知道android会在方向更改时重新创建活动并再次调用onCreate()方法。

但是根据documentation,我不应该在onRetainNonConfigurationInstance()中存储Cursor对象,因为它使用了Context。

以下是创建Cursor的代码。

DataBaseHelper myDbHelper = new DataBaseHelper(this);
Cursor c=myDbHelper.getDatabase().rawQuery("SELECT * FROM mytable",null);

另一种推荐方法是手动处理更改,但我不想这样做,因为我想利用UI的默认调整。

如果方向发生变化,如何继续使用同一行?

1 个答案:

答案 0 :(得分:1)

最简单的方法之一是在清单文件中添加它(针对相关活动) -

android:configChanges="orientation|screenSize|keyboardHidden"