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