如何存储和检索从单个选项中选择的内容

时间:2014-01-14 17:12:31

标签: java android android-alertdialog

我有以下代码:

protected void showSelectToDialog() {
        boolean[] checkedDate = new boolean[toDate.length];
        int count = toDate.length;

        DialogInterface.OnClickListener setD2 = new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                //TODO Auto-generated method stub
                onChangeSelectedTo(which);
            }
        };

        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("Select To Year");
        builder.setSingleChoiceItems(toDate, count, setD2);

        builder.setCancelable(true);
        builder.setPositiveButton("Cancel", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int id) {
                dialog.dismiss();
            }
        });
        dialog2 = builder.create();
        dialog2.show();
    }

    protected void onChangeSelectedTo(int j) {
        bTo.setText(toDate[j]);
        sTo = ((AlertDialog)dialog2).getListView().getCheckedItemPosition();
        blTo = true;
        displayToast(String.valueOf(sTo));
        to = j;
        dialog2.dismiss();
    }

我要做的是,当对话框第一次加载并且用户选择一个选项时,它将被存储。因此,下次用户打开对话框时,它会记住选择的内容并滚动到该选项。

我如何做到这一点?

2 个答案:

答案 0 :(得分:1)

我看不到你的其余代码,但你所要做的就是将用户的选择保存在其他地方的变量中,然后在每次打开对话时读取该选项。它可以是类的静态变量,也可以是类的实例变量,也可以是您可以访问的其他类的公共字段,如父对象。您只需在关闭对话时指定它,然后将其读回并将值初始化为打开对话时所读取的内容。

答案 1 :(得分:1)

使用“共享首选项”首次保存所选选项的位置。 然后在showSelectToDialog()开始时检查共享首选项中是否存在任何值,如果是,则将count的值从共享首选项设置值count设置为toDate.length