重新创建活动后Android解除对话框

时间:2012-07-12 22:33:14

标签: android android-dialog

我像这样覆盖了方法showDialog(int):

@Override
public Dialog onCreateDialog(int id ){
    Log.d("Dialog",id+":created");
    switch (id) {
    case addressValidateProgressId:
        addressValidateProgress = new AddressValidateProgress(this);
        return addressValidateProgress;
    case gpsSearchloadId:
        gpsSearchload = new GPSSearchProgress(this,geocodeLocationToAddress);
        return gpsSearchload;
    case alertId:
        prepareAddressChooseDialog(addressList);
        return addressChooseDialog;
    default:
        return null;
    }

}

这很好用,对话框显示并改变屏幕的方向。

问题是,如果我在调用dismissDialog(id)时旋转屏幕,我会得到一个异常,说“java.lang.IllegalArgumentException:没有通过Activity#showDialog显示没有ID为0的对话框。”

showDialog方法不应该使活动成为对话框的所有者吗?

我看不出有什么不对劲。

感谢。

0 个答案:

没有答案