Я обнаружил, что Android разрушает и воссоздает действия во время изменения ориентации экрана.У меня есть активность, которая автоматически ищет номинальное местоположение устройства и отображает его обратно пользователю.Это местоположение хранится в объекте учета, который используется на протяжении всего приложения.Вот мой код:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.location);
currentLocation = (TextView) findViewById(R.id.textCurrentLocation);
if (savedInstanceState == null)
new LocationDetectionTask(this).execute((Void[]) null);
else
currentLocation.setText(record.getLocation());
Log.d(TAG, "onCreate");
}
(Как вы могли бы сказать, record
представляет этот объект записи данных).
Достаточен ли этот метод обработки изменений ориентации экрана?Кстати, я не переопределяю onSaveInstanceState(Bundle)
.
Кроме того, побочный вопрос: поскольку LocationDetectionTask
является AsyncTask
, как мне поступить с обработкой изменений ориентации экрана для этого?1013 * Редактировать: я забыл уточнить это.После того, как LocationDetectionTask
находит местоположение, оно помещает его в record
.