我经常在活动开始后立即创建并显示AlertDialog。在过去,我已经完成:什么时候应该触发Android Alert Dialog?
public void onCreate(Bundle savedInstanceState) {
...
AlertDialog.Builder builder = new AlertDialog.Builder(this);
...
builder.create.show();
...
}
这看起来很糟糕,因为该活动尚未实际创建。我不时看到屏幕变暗,好像AlertDialog应该在屏幕上,但实际上并没有出现。
最近我一直在使用Handler/Runnable来延迟AlertDialog的启动几毫秒。这似乎也相当武断。
活动初始化后立即呈现AlertDialog的最佳做法是什么?
一个问题用OnStart方法是,每个活动变得可见时触发。 onResume也一样,但实际上可能会更糟,因为onResume会在对话结束后触发。 onContentChanged()我会查找的。 – Richard
..是的,这就是为什么我说根据您的要求。我怀疑onStart()功能实际上是Android中的一个错误......当一个活动在它出现时触发它是没有意义的。 Android似乎只适用于谷歌和其他人。 – Merlin
有点破解,但你可以在onRestart()中设置一个标志,并在onStart()中检查它的值,你会知道是否显示对话框是正确的 – Merlin