自定义ListPreference RadioButton不保存所选项目

时间:2012-09-06 06:01:28

标签: android

我正在根据现有的SO问题custom row in a listPreference?构建项目。在我的程序版本中,选择单选按钮不起作用;最后一个选中的项目未保存。我的模拟项目是here,背景为黑色。

1 个答案:

答案 0 :(得分:1)

进行这些更改(部分代码):

public void onClick(View v)
                    {
                        for(RadioButton rb : rButtonList)
                        {
                            if(rb.getId() != position)
                                rb.setChecked(false);
                        }

                        int index = position;
                        String value = entryValues[index].toString();
                        editor.putString("yourPref", value);
                        editor.commit();
                        Dialog mDialog = getDialog();
                        mDialog.dismiss();

CustomHolder(View row, int position)
        {    
            text = (TextView)row.findViewById(R.id.custom_list_view_row_text_view);
            text.setText(entries[position]);
       rButton =(RadioButton)row.findViewById(R.id.custom_list_view_row_radio_button);
            rButton.setId(position);

            if(entryValues[position].toString().equalsIgnoreCase(FontSize))
            {
                rButton.setChecked(true);
            }

if(isChecked)
                    {
                        for(RadioButton rb : rButtonList)
                        {
                            if(rb != buttonView)
                                rb.setChecked(false);
                        }

                        int index = buttonView.getId();
                        String value = entryValues[index].toString();
                        editor.putString("yourPref", value);
                        editor.commit();

和FontSize变量填写构造函数:

SharedPreferences fontsizesetting = PreferenceManager.getDefaultSharedPreferences(context);
    String temp = fontsizesetting.getString("yourPref","16");