我有問題顯示AlertDialog
。每當我運行代碼時,應用程序都不會響應並強制關閉。特此我的代碼:警報對話框生成器停止響應
public void displayList(View view){ new AsyncTask<String, Void, List<Address>>() { protected List<Address> doInBackground(String... params) { /* some operations */ return null; } protected void onPostExecute(List<Address> result) { if(result.size() == 0){ /* do something */ } else { /* some code */ AlertDialog.Builder alert = new AlertDialog.Builder(this); alert.setMessage(sometext); alert.show(); } } }.execute(destination); }
這裏是我的logcat
11-20 20:26:56.848: E/AndroidRuntime(29789): FATAL EXCEPTION: main 11-20 20:26:56.848: E/AndroidRuntime(29789): java.lang.NullPointerException 11-20 20:26:56.848: E/AndroidRuntime(29789): at android.app.AlertDialog.resolveDialogTheme(AlertDialog.java:142) 11-20 20:26:56.848: E/AndroidRuntime(29789): at android.app.AlertDialog$Builder.(AlertDialog.java:359) 11-20 20:26:56.848: E/AndroidRuntime(29789): at com.ceria.tuntun.MainActivity$5.onPostExecute(MainActivity.java:201) 11-20 20:26:56.848: E/AndroidRuntime(29789): at com.ceria.tuntun.MainActivity$5.onPostExecute(MainActivity.java:1) 11-20 20:26:56.848: E/AndroidRuntime(29789): at android.os.AsyncTask.finish(AsyncTask.java:602) 11-20 20:26:56.848: E/AndroidRuntime(29789): at android.os.AsyncTask.access$600(AsyncTask.java:156) 11-20 20:26:56.848: E/AndroidRuntime(29789): at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:615) 11-20 20:26:56.848: E/AndroidRuntime(29789): at android.os.Handler.dispatchMessage(Handler.java:99) 11-20 20:26:56.848: E/AndroidRuntime(29789): at android.os.Looper.loop(Looper.java:137) 11-20 20:26:56.848: E/AndroidRuntime(29789): at android.app.ActivityThread.main(ActivityThread.java:4511) 11-20 20:26:56.848: E/AndroidRuntime(29789): at java.lang.reflect.Method.invokeNative(Native Method) 11-20 20:26:56.848: E/AndroidRuntime(29789): at java.lang.reflect.Method.invoke(Method.java:511) 11-20 20:26:56.848: E/AndroidRuntime(29789): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:980) 11-20 20:26:56.848: E/AndroidRuntime(29789): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:747) 11-20 20:26:56.848: E/AndroidRuntime(29789): at dalvik.system.NativeStart.main(Native Method)
我不知道這是什麼情況發生。我曾多次使用AlertDialog,並想知道爲什麼這個不能工作。
謝謝
你在tabHost使用alertDialog? –
你的logcat在哪裏? – cjk
如果您使用了tabhost,那麼您必須將您的上下文更改爲getParent。 –