有时showDialog不起作用

时间:2012-12-10 13:42:14

标签: java android dialog

我有一个 fragmentActivity ,它使用 startActivityForResult(intent,getCode)来调用通过ftp发送一些文件的活动。

在方法 onActivityResult(int requestCode,int resultCode,Intent data)中使用对话框显示操作的结果(失败,成功,没有互联网等...) /强>

对话框的调用如下:

Bundle bundle = new Bundle();
bundle.putString(LLAVE_TITULO, alertTitulo);
bundle.putString(LLAVE_MENSAJE, alertMensaje);
showDialog(DIALOG_RESPUESTA, bundle);

并且 onCreateDialog 方法是基本的

@Override
protected Dialog onCreateDialog(int id, Bundle bundle)
{
    Builder mAlertDialog = new AlertDialog.Builder(this);
    mAlertDialog.setTitle(bundle.getString(LLAVE_TITULO));
    mAlertDialog.setMessage(bundle.getString(LLAVE_MENSAJE));
    mAlertDialog.setPositiveButton("Aceptar",null);
    return mAlertDialog.create();
}

一切正常,但我注意到当我显示并快速关闭对话框时(我可以越快,每秒一次或两次)在某些时候对话框不再显示,直到我关闭活动并启动它再次...

这里发生了什么?我怎么能确定对话框会显示?

谢谢!

1 个答案:

答案 0 :(得分:1)

活动为每个对话框调用onCreateDialog()一次.. 所以..我认为你应该使用DialogInterface.OnShowListener进行对话框视图窗口小部件验证