Отображение оповещений в Activity.onCreate (..) - PullRequest
12 голосов
/ 18 августа 2010

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

Возможно ли проверить некоторые условия внутри onCreate () в Activity и отобразить AlertDialog?

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

Ответы [ 3 ]

9 голосов
/ 03 июня 2012

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

Решение, которое я нашел, состоит в том, чтобы поместить код, отображающий диалоговое окно, в метод onStart ().:

@Override
protected void onStart() {
    super.onStart();
    // show dialog here
}
1 голос
/ 18 августа 2010

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

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setMessage("Stackoverflow!").create().show();
}
0 голосов
/ 14 декабря 2012

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

public void onPause()
{
super.onPause();
if(alert !=null)
{
alert.dismiss();
}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...