作者shawnba (冰秘熊巴)
看板AndroidDev
标题[问题] AlertDialog 视窗瞬闪
时间Tue Jul 23 12:31:25 2013
小弟遇到一个怪现象,找不出所以然,请前辈帮忙协助 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
1F:→ tryagainloop: 视窗按 OK 时 先dismiss 再 finish 07/23 13:02
2F:→ shawnba:解决了.. 超级感谢!!! ~>___<~ ~>___<~ ~>___<~ 07/23 13:23
※ 编辑: shawnba 来自: 220.135.248.182 (07/23 18:47)