【发布时间】:2011-01-08 23:36:19
【问题描述】:
是否应该通过光标获取数据并在屏幕上填写数据,比如设置窗口标题,onStart() 或onResume()?
onStart() 似乎是合乎逻辑的位置,因为在onStart() 之后,活动已经可以显示,尽管是在后台。值得注意的是,我遇到了一个托管对话框问题,这让我重新考虑了这一点。如果用户在对话框仍然打开时旋转屏幕,onCreateDialog() 和 onPrepareDialog() 将在onStart() 和onResume() 之间调用。如果对话框需要基于数据你需要有onResume()之前的数据。
如果我对onStart() 的看法是正确的,那么为什么记事本示例 在onResume() 中给出了一个不好的示例?请参阅http://developer.android.com/resources/samples/NotePad/src/com/example/android/notepad/NoteEditor.html NoteEditor.java 第 176 行 (title = mCursor.getString...)。
另外,如果我的 Activity 启动另一个 Activity/Dialog 来更改我的光标正在跟踪的数据怎么办。即使在最简单的情况下,这是否意味着我必须手动更新我以前的屏幕(主要活动中对话框的侦听器),或者我必须注册一个 ContentObserver,因为我' m 不再更新 onResume() 中的数据(当然我可以更新两次)?
我知道这是一个基本问题,但令我惊讶的是,直到最近的对话才让我意识到这一点。
【问题讨论】:
标签: android dialog lifecycle onresume onstart