Отображение предупреждений в Activity.onCreate(..)

Я новичок в Android, и это мой первый вопрос, поэтому, пожалуйста, пройдите на меня.

Можно ли проверить какое-либо условие внутри onCreate() Activity и отобразить AlertDialog?

Я создаю AlertDialog анонимно в Oncreate() и вызывая show в этом экземпляре, но AlertDialog никогда не отображается.

Ответ 1

Отображение диалогового окна предупреждения в onCreate вызывает исключение android.view.WindowLeaked, поскольку активность еще не создана.

Решение, которое я нашел, - это поставить код, который показывает диалог в методе onStart():

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

Ответ 2

Это определенно возможно, попробуйте следующее:

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

Ответ 3

Если вы используете ActivityGroups, вам нужно использовать getParent() вместо ключевого слова this. Также убедитесь, что вы создали метод onPause в своей деятельности, чтобы отклонить предупреждение i.e.

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