我在我的应用程序中使用SQLiteDatabase,我手动创建,然后在android应用程序中使用它。要浏览它,我使用的是光标。我正在显示编辑文本中的行的结果。
当方向发生变化时,无论显示的行如何,第一行都会显示在编辑文本中。我知道android会在方向更改时重新创建活动并再次调用onCreate()方法。
但是根据documentation,我不应该在onRetainNonConfigurationInstance()中存储Cursor对象,因为它使用了Context。
以下是创建Cursor的代码。
DataBaseHelper myDbHelper = new DataBaseHelper(this);
Cursor c=myDbHelper.getDatabase().rawQuery("SELECT * FROM mytable",null);
另一种推荐方法是手动处理更改,但我不想这样做,因为我想利用UI的默认调整。
如果方向发生变化,如何继续使用同一行?
答案 0 :(得分:1)
最简单的方法之一是在清单文件中添加它(针对相关活动) -
android:configChanges="orientation|screenSize|keyboardHidden"