我使用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;
}
}
答案 0 :(得分:0)
最简单的方法是在选择年龄时将年龄保存在全局变量(例如:int previousAge;)中。然后,下次显示警告对话框时,您可以设置之前选择的年龄:
b.setSingleChoiceItems(ageArray, previousAge, new android.content.DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
...
});