天天看点

ListPreference动态设置选项

在实际中,我们通常会遇到动态设置选项的问题,而不想在xml文件中写相关内容,可以通过一下方式实现。在找到当前的ListPreference后,绑定数据和preference

private void doDataBind(ListPreference preference,List<String> list){
        CharSequence mentries[] = new String[list.size()];
        CharSequence mentryValues[] = new String[list.size()];
        int i = 0;
        for (String mdata : list) {
            mentries[i] = mdata;
            mentryValues[i] = Integer.toString(i);
            i++;
        }
        preference.setEntries(mentries);
        preference.setEntryValues(mentryValues);

    }