Если вы получаете данные с помощью курсора и вводите данные на экране, например, задаете заголовок окна, в onStart()
или onResume()
?
onStart()
Казалось бы, логичное место, потому что после onStart()
активность может уже отображаться , хотя и в фоновом режиме.В частности, у меня была проблема с управляемым диалогом , который заставил меня переосмыслить это.Если пользователь поворачивает экран, когда диалоговое окно все еще открыто, onCreateDialog()
и onPrepareDialog()
называются между onStart()
и onResume()
.Если диалог должен основываться на данных, вам нужно, чтобы данные были до onResume()
.
Если я прав насчет onStart()
, то почему пример Notepad даетплохой пример, делая это в onResume()
?См. http://developer.android.com/resources/samples/NotePad/src/com/example/android/notepad/NoteEditor.html NoteEditor.java строка 176 (title = mCursor.getString...
).
Кроме того, что если моя активность запустит другой Actvity / Dialog, который изменяет данные, отслеживаемые моим курсором.Даже в простейшем случае это означает, что мне нужно обновить вручную мой предыдущий экран (прослушиватель для диалога в основной деятельности), или, в качестве альтернативы, я должен зарегистрировать ContentObserver, так как ябольше не обновлять данные в onResume () (хотя я мог бы обновить их дважды, конечно)?
Я знаю, что это основной вопрос, но диалог, к моему удивлению, только недавно заставил меня осознать это.