AlertDialog.builder setSelection

时间:2014-06-06 00:07:22

标签: android alertdialog android-alertdialog

我使用AlertDialog作为微调器供用户选择。我想基于之前选择的setItems数组的setPosition。例如,如果他们选择了#40;年龄40"以前,我希望我能有" 40"当他们重新打开AlertDialog时,请在列表的顶部。有任何想法吗?

    @Override
public void onClick(View v) {
    AlertDialog.Builder b = new Builder(this);
    switch (v.getId()) {

    case R.id.btnAge:
        b.setTitle("Age");
        String[] ageArray = { "18", "19", "20", "21", "22", "23", "24",
                "25", "26", "27", "28", "29", "30", "31", "32", "33", "34",
                "35", "36", "37", "38", "39", "40", "41", "42", "43", "44",
                "44", "45", "46", "47", "48", "49", "50", "51", "52", "53",
                "54", "55", "56", "57", "58", "59", "60", "61", "62", "63",
                "64", "65", "66", "67", "68", "69", "70", "71", "72", "73",
                "74", "75", "76", "77", "78", "79", "80", "81", "82", "83",
                "84", "85", "86", "87", "88", "89", "90", "91", "92", "93",
                "94", "95", "96", "97", "98", "99" };
        b.setItems(ageArray,
                new android.content.DialogInterface.OnClickListener() {

                    @Override
                    public void onClick(DialogInterface dialog, int which) {

                        dialog.dismiss();
                        switch (which) {
                        case 0:
                            //
                            break;
                        case 1:
                            // 
                            break;
                        }
                    }

                });

        b.show();

        break;

    }
}

1 个答案:

答案 0 :(得分:0)

最简单的方法是在选择年龄时将年龄保存在全局变量(例如:int previousAge;)中。然后,下次显示警告对话框时,您可以设置之前选择的年龄:

b.setSingleChoiceItems(ageArray, previousAge, new android.content.DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {
       ...             
    });