RuntimeException в AlertDialog.show ()

Я получаю исключение, когда хочу вывести диалоговое окно alerttdialog в начале действия. Я не могу понять почему? Я действительно был бы признателен за объяснение.

Код:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.main);

    if (!isInternetConnectionAvailable()) {
        AlertDialog alert = new AlertDialog.Builder(getApplicationContext()).create();
        alert.setMessage("TEST DIALOG!!!");
        alert.show();
    }
...

Используйте

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.main);

    if (!isInternetConnectionAvailable()) {
        AlertDialog alert = new AlertDialog.Builder(getApplicationContext()).create();
        alert.setMessage("TEST DIALOG!!!");
        alert.show();
    }
...
вместо _2_. Дополнительная информация здесь.


person Beasly    schedule 19.03.2011    source источник
comment
Спасибо чувак!!! Я хочу знать кое-что больше, когда мы можем использовать это и когда getApplicationContext ()? не могли бы вы помочь мне ........   -  person Mohit Deshpande    schedule 19.03.2011


Ответы (1)


Какая строка является строкой 82 в вашем файле StartActivity.java?

person bigstones    schedule 19.03.2011
comment
@amity: идея состоит в том, что контекст приложения - это нечто более общее, чем контекст активности. _1_ (который extends _2_) добавляет ссылку на окно, в котором он показан. Я не знаю других примеров, таких как Dialog, но они могут быть. - person amity; 27.02.2012
comment
03-19 16: 04: 33.933: ERROR / AndroidRuntime (15145): FATAL EXCEPTION: main 03-19 16: 04: 33.933: ERROR / AndroidRuntime (15145): java.lang.RuntimeException: невозможно запустить действие ComponentInfo {de. droidgroup.THMInfo / de.droidgroup.THMInfo.Activities.StartActivity}: android.view.WindowManager $ BadTokenException: невозможно добавить окно - нулевой токен не предназначен для приложения 03-19 16: 04: 33.933: ERROR / AndroidRuntime (15145 ): в android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2663) 03-19 16: 04: 33.933: ОШИБКА / AndroidRuntime (15145): в android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2679) 03- 19 16: 04: 33.933: ОШИБКА / AndroidRuntime (15145): в android.app.ActivityThread.access 2300 долларов (ActivityThread.java:125) 03-19 16: 04: 33.933: ОШИБКА / AndroidRuntime (15145): в android.app .ActivityThread $ H.handleMessage (ActivityThread.java:2033) 03-19 16: 04: 33.933: ОШИБКА / AndroidRuntime (15145): в android.os.Handler.dispatchMessage (Handler.java:99) 03-19 1 6: 04: 33.933: ОШИБКА / AndroidRuntime (15145): в android.os.Looper.loop (Looper.java:123) 03-19 16: 04: 33.933: ОШИБКА / AndroidRuntime (15145): в android.app.ActivityThread .main (ActivityThread.java:4627) 03-19 16: 04: 33.933: ERROR / AndroidRuntime (15145): в java.lang.reflect.Method.invokeNative (собственный метод) 03-19 16: 04: 33.933: ERROR / AndroidRuntime (15145): в java.lang.reflect.Method.invoke (Method.java:521) 03-19 16: 04: 33.933: ОШИБКА / AndroidRuntime (15145): в com.android.internal.os.ZygoteInit $ MethodAndArgsCaller .run (ZygoteInit.java:858) 03-19 16: 04: 33.933: ERROR / AndroidRuntime (15145): в com.android.internal.os.ZygoteInit.main (ZygoteInit.java:616) 03-19 16:04 : 33.933: ОШИБКА / AndroidRuntime (15145): в dalvik.system.NativeStart.main (собственный метод) 03-19 16: 04: 33.933: ОШИБКА / AndroidRuntime (15145): Вызвано: android.view.WindowManager $ BadTokenException: Невозможно для добавления окна - нулевой токен не предназначен для приложения 03-19 16: 04: 33.933: ERROR / AndroidRuntime (1514 5): в android.view.ViewRoot.setView (ViewRoot.java:509) 03-19 16: 04: 33.933: ОШИБКА / AndroidRuntime (15145): в android.view.WindowManagerImpl.addView (WindowManagerImpl.java:177) 03 -19 16: 04: 33.933: ОШИБКА / AndroidRuntime (15145): в android.view.WindowManagerImpl.addView (WindowManagerImpl.java:91) 03-19 16: 04: 33.933: ОШИБКА / AndroidRuntime (15145): в android.app .Dialog.show (Dialog.java:241) 03-19 16: 04: 33.933: ОШИБКА / AndroidRuntime (15145): в de.droidgroup. THMInfo.Activities.StartActivity.onCreate (StartActivity.java:82) 03-19 16: 04: 33.933: ОШИБКА / AndroidRuntime (15145): в android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1049) 03-19 16: 04: 33.933: ERROR / AndroidRuntime (15145): at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2627) 03-19 16: 04: 33.933: ERROR / AndroidRuntime (15145): ... еще 11 - person bigstones; 27.02.2012