Estoy creando un cuadro de diálogo de alerta al principio de mi aplicación para permitirle al usuario elegir dónde almacenar los datos que mi aplicación está descargando de la web. Lo que quiero lograr ahora depende del tamaño del almacenamiento interno/externo que quiero configurar, seleccionado uno de los elementos. Aquí está el código que estoy usando para crear el diálogo:Android establece el elemento seleccionado en el cuadro de diálogo de alerta
@SuppressWarnings("static-access")
public void createDialog(){
final CharSequence[] items = {"Phone Memory - "+memorysize+" free space", "SD Card - "+megAvailable+" MB free space"};
final int userId = rpc.getUserId(this);
final String servername = rpc.getCurrentServerName(this);
SharedPreferences stampiiSettings = PreferenceManager.getDefaultSharedPreferences(MyCollectionList.this);
final SharedPreferences.Editor editor = stampiiSettings.edit();
AlertDialog.Builder builder = new AlertDialog.Builder(this.getParent());
builder.setTitle("Select Storage Path");
builder.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
if(item == 0){
rpc.createFoldersInInternalStorage(servername, userId, MyCollectionList.this);
Toast.makeText(getApplicationContext(), "Selected Storage Path : Phone Memory", Toast.LENGTH_SHORT).show();
editor.putInt("storagePath", 1);
editor.commit();
} else if (item == 1){
rpc.createFoldersInExternalStorage(servername, userId, MyCollectionList.this);
Toast.makeText(getApplicationContext(), "Selected Storage Path : SD Card", Toast.LENGTH_SHORT).show();
editor.putInt("storagePath", 2);
editor.commit();
}
}});
builder.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
mHandlerUpdateUi.post(mUpdateUpdateUi); // update UI
}
});
AlertDialog alert = builder.show();
}
Y otra cosa que quiero lograr, ¿cómo puedo evitar que el usuario para cerrar el diálogo de alerta si él no eligió ningún artículo. No quiero cerrar el diálogo al presionar el botón Atrás o cuando hace clic en el botón Aceptar. Cualquier idea/sugerencia/ayuda son bienvenidas!