在Activity.onCreate(..)中显示警报

时间:2010-08-18 06:10:22

标签: android dialog

我是Android的新手,这是我的第一个问题,所以请放轻松我。

是否可以检查Activity的onCreate()内的某些条件并显示AlertDialog?

我在Oncreate()中匿名创建一个AlertDialog并在该实例上调用show但从不显示AlertDialog。

3 个答案:

答案 0 :(得分:9)

在onCreate中显示警告对话框会导致android.view.WindowLeaked异常,因为尚未创建活动。

我找到的解决方案是将显示对话框的代码放在onStart()方法中:

@Override
protected void onStart() {
    super.onStart();
    // show dialog here
}

答案 1 :(得分:1)

绝对有可能,试试这个:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setMessage("Stackoverflow!").create().show();
}

答案 2 :(得分:0)

如果使用ActivityGroups,则需要使用getParent()而不是关键字this。还要确保在活动中创建onPause方法以解除警报,即<。p>

public void onPause()
{
super.onPause();
if(alert !=null)
{
alert.dismiss();
}
}