2010-08-18 190 views
11

我是Android新手,这是我的第一个问题,所以请在我身上轻松一下。在Activity.onCreate中显示警报(..)

是否有可能检查活动的onCreate()内的某些条件并显示AlertDialog?

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

+0

您能分享代码吗? – 2010-08-18 06:19:54

回答

2

这绝对是可能的,试试这个:

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

这会导致android.view.WindowLeaked异常在我的情况。 – kolufild 2012-06-02 21:35:27

7

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

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

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

如果使用活动组,那么你需要使用的getParent(),而不是关键字this。此外,请确保在您的活动中创建onPause方法以取消警报,即

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