Я создаю и показываю свой диалог следующим образом:
showDialog(1); // Logcat say me that mistake is here.
protected Dialog onCreateDialog(int id) {
switch (id) {
case 1:{
Builder builder = new AlertDialog.Builder(this);
builder.setMessage(R.string.SelectLoc)
.setCancelable(true)
.setPositiveButton(R.string.Phone, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int which) {
if (mExternalStorageAvailable)
{
PathOpenFile = Environment.getExternalStorageDirectory().getPath();
FileManagerActivity(Settings.Pref.getString("Path_Open", PathOpenFile), REQUEST_LOAD);
}
else
Toast.makeText(Main.this, R.string.CheckSD , Toast.LENGTH_LONG).show();
}
})
.setNegativeButton(R.string.Ftp, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,int which){
if (Settings.Pref.getBoolean("Ftp_User",false))
{
FtpConnect _FtpConnect = new FtpConnect();
_FtpConnect.Save_Open = FTP_REQUEST_LOAD;
_FtpConnect.execute();
}
else
Toast.makeText(Main.this, R.string.SetPass , Toast.LENGTH_LONG).show();
}
});
AlertDialog dialog = builder.create();
dialog.show();
break;
}
В 2.2 Это работает очень хорошо, но в 2.1 это вызывает принудительное закрытие с -
"java.lang.Illegalargumentexeption: Activity # onCreateDialog не создал диалоговое окно для идентификатора 1 "
Почему так?