[問題] AlertDialog 視窗瞬閃

看板AndroidDev作者 (冰祕熊巴)時間12年前 (2013/07/23 12:31), 編輯推噓0(002)
留言2則, 2人參與, 最新討論串1/1
小弟遇到一個怪現象,找不出所以然,請前輩幫忙協助 m(_ _)m 簡單說就是,A activity 叫 B Activity 起來,B 回到 A 之前會跳出 Dialog 確認 當 Dialog 按下 OK 後跳回 A activity 的瞬間,此 Dialog 又會再閃動一次 細節程式碼如下... 幾乎是正規寫法,不知道是哪邊的問題 @@ [BeginActivity] (某 Button 按下後進入 MainActivity) Intent intent = new Intent(BeginActivity.this, MainActivity.class) startActivity(intent); [MainActivity] (某 Button 按下後返回 BeginActivity) (gameInProgress 為布林值,判斷遊戲是否進行中,若進行中則跳出 Dialog 詢問) if(gameInProgress) showDialog(ALERT_BEGIN); -> 跳出 Dialog 選 OK 回到 Begin -> Begin 出現瞬間會多閃一次 Dialog else finish(); -> 直接回到 Begin:正常 不會有 Dialog 閃動 =================================================== @Override protected Dialog onCreateDialog(int id) { AlertDialog dialogDetails = null; LayoutInflater inflater; View dialogview; AlertDialog.Builder dialogbuilder; switch(id) { case ALERT_BEGIN: inflater = LayoutInflater.from(this); dialogview = inflater.inflate(R.layout.layout, null); dialogbuilder = new AlertDialog.Builder(this); dialogbuilder.setTitle(...); dialogbuilder.setMessage(...); dialogbuilder.setview(dialogview); dialogDetails = dialogbuilder.create(); break; } dialogDetails.show(); } ================================================== @Override protected void onPreparedialog(int id, Dialog dialog) { final AlertDialog alertDialog = (AlertDialog) dialog; switch(id) { case ALERT_BEGIN: Alert 視窗按 OK 時 { finish(); } Alert 視窗按 Cancel 時 { alertDialog.dismiss(); } break; } } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.135.248.182

07/23 13:02, , 1F
視窗按 OK 時 先dismiss 再 finish
07/23 13:02, 1F

07/23 13:23, , 2F
解決了.. 超級感謝!!! ~>___<~ ~>___<~ ~>___<~
07/23 13:23, 2F
※ 編輯: shawnba 來自: 220.135.248.182 (07/23 18:47)
文章代碼(AID): #1HxWSXqD (AndroidDev)