1

我有一个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();
}

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

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

谢谢!

4

1 回答 1

1

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

于 2012-12-10T13:57:40.093 回答