5
私は非同期タスクを使用してポスト実行メソッドを使用するアンドロイドアプリケーションを開発しています。進捗ダイアログボックスを閉じるときに例外が発生し、アプリケーションが強制的に終了しています。来asynchtaskで例外を与える進捗ダイアログボックス
例外がある:
04-24 09:41:54.661: E/AndroidRuntime(1727): java.lang.IllegalArgumentException: View not attached to window manager
04-24 09:41:54.661: E/AndroidRuntime(1727): at android.view.WindowManagerImpl.findViewLocked(WindowManagerImpl.java:355)
コード:
data_insertion = new AsyncTask<Void, Void, Void>() {
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
CommonUtility.show_PDialog(MainActivity.this);
super.onPreExecute();
}
@Override
protected void onPostExecute(Void result) {
// TODO Auto-generated method stub
//setting alaram for refresh api
CommonUtility.close_PDialog(); //*getting exception on this line*
Intent setalaram = new Intent(MainActivity.this, SetAlaram.class);
startService(setalaram);
Intent i = new Intent(MainActivity.this, PlayListActivity.class);
startActivity(i);
MainActivity.this.finish();
super.onPostExecute(result);
finish();
}
@Override
protected Void doInBackground(Void...params) {
// TODO Auto-generated method stub
//some code
}
return null;
}
}.execute(null, null, null);
//and here is my close method for dilogue
public static void close_PDialog() {
if (dialog != null && dialog.isShowing()) {
dialog.dismiss();
}
}
ログ出力:おそらく
04-24 09:41:54.661: E/AndroidRuntime(1727): FATAL EXCEPTION: main
04-24 09:41:54.661: E/AndroidRuntime(1727): java.lang.IllegalArgumentException: View not attached to window manager
04-24 09:41:54.661: E/AndroidRuntime(1727): at android.view.WindowManagerImpl.findViewLocked(WindowManagerImpl.java:355)
04-24 09:41:54.661: E/AndroidRuntime(1727): at android.view.WindowManagerImpl.removeView(WindowManagerImpl.java:200)
04-24 09:41:54.661: E/AndroidRuntime(1727): at android.view.Window$LocalWindowManager.removeView(Window.java:432)
04-24 09:41:54.661: E/AndroidRuntime(1727): at android.app.Dialog.dismissDialog(Dialog.java:278)
04-24 09:41:54.661: E/AndroidRuntime(1727): at android.app.Dialog.access$000(Dialog.java:71)
04-24 09:41:54.661: E/AndroidRuntime(1727): at android.app.Dialog$1.run(Dialog.java:111)
04-24 09:41:54.661: E/AndroidRuntime(1727): at android.app.Dialog.dismiss(Dialog.java:268)
04-24 09:41:54.661: E/AndroidRuntime(1727): at commonUtilities.CommonUtility.close_PDialog(CommonUtility.java:233)
04-24 09:41:54.661: E/AndroidRuntime(1727): at com.walkover.filesharing.MainActivity$1.onPostExecute(MainActivity.java:55)
04-24 09:41:54.661: E/AndroidRuntime(1727): at com.walkover.filesharing.MainActivity$1.onPostExecute(MainActivity.java:1)
04-24 09:41:54.661: E/AndroidRuntime(1727): at android.os.AsyncTask.finish(AsyncTask.java:417)
04-24 09:41:54.661: E/AndroidRuntime(1727): at android.os.AsyncTask.access$300(AsyncTask.java:127)
04-24 09:41:54.661: E/AndroidRuntime(1727): at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:429)
04-24 09:41:54.661: E/AndroidRuntime(1727): at android.os.Handler.dispatchMessage(Handler.java:99)
04-24 09:41:54.661: E/AndroidRuntime(1727): at android.os.Looper.loop(Looper.java:130)
04-24 09:41:54.661: E/AndroidRuntime(1727): at android.app.ActivityThread.main(ActivityThread.java:3683)
04-24 09:41:54.661: E/AndroidRuntime(1727): at java.lang.reflect.Method.invokeNative(Native Method)
04-24 09:41:54.661: E/AndroidRuntime(1727): at java.lang.reflect.Method.invoke(Method.java:507)
04-24 09:41:54.661: E/AndroidRuntime(1727): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
04-24 09:41:54.661: E/AndroidRuntime(1727): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
04-24 09:41:54.661: E/AndroidRuntime(1727): at dalvik.system.NativeStart.main(Native Method)
'CommonUtility.close_PDialog();'メソッドのポストコードです。 – user370305
logcat出力を投稿してください – Analizer
例外をスローする行を削除すると、progressDialogが画面上に残っているのか、それとも消えますか? – Analizer