Android устанавливает выбранный элемент в диалоговом окне предупреждения.

Я создаю диалоговое окно с предупреждением в начале своего приложения, чтобы пользователь мог выбирать, где хранить данные, которые мое приложение загружает из Интернета. То, что я хочу достичь сейчас, зависит от размера внутреннего / внешнего хранилища, которое я хочу выбрать, чтобы выбрать один из элементов. Вот код, который я использую для создания диалогового окна:

@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();
}

И еще одна вещь, которую я хочу достичь, как я могу запретить пользователю закрывать диалоговое окно с предупреждением, если он не выбрал какой-либо элемент. Я не хочу закрывать диалог при нажатии кнопки «Назад» или при нажатии кнопки «ОК». Любые идеи / предложения / помощь приветствуются!

7
задан Android-Droid 18 November 2011 в 10:13
поделиться