我像这样覆盖了方法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方法不应该使活动成为对话框的所有者吗?
我看不出有什么不对劲。
感谢。