多个dialog弹出问题
需求:通过消息触发某一广播弹出多个dialog(消息中有单个或多个数据),现在需要弹一个dialog完在谈另外一个,解决方案关键代码如下:
方案:用isShowing()方法对正在show的dialog进行管理
//把自定义的dialog设为成员变量
private LotteryReceiveDialog mShowWinDialog;
protected void showBlueHunter(String name, int num)
{
if (mShowWinDialog != null)
{
if (mShowWinDialog.isShowing())
{
mShowWinDialog.dismiss();
}
} else
{
mShowWinDialog = new LotteryReceiveDialog(xxx.this);
mShowWinDialog.setConfrimBtnOnclick(new OnClickListener()
{
@Override
public void onClick(View v)
{
mShowWinDialog.dismiss();
//跳转
startActivity(new Intent(xxx.this, xxx.class));
}
});
}
mShowWinDialog.setHintTv("恭喜您获得");
mShowWinDialog.setHintTv2(name);
mShowWinDialog.setHintTv3("期号: " + num);
if (!mShowWinDialog.isShowing())
{
mShowWinDialog.show();
}
}