以编程方式使用复选框填充首选项

ise*_*sep 20 android preferences

在我的设置页面中,我有一个首选项,它会获取我想要显示为单独复选框首选项的可切换设置列表.

我知道这preferences.xml支持生成首选项列表(查看wi-fi设置页面),但ListPreference只允许您从列表中选择一个.

我一直在寻找如何以编程方式生成首选项,但只是设法找到如何更改XML中已有的首选项属性.

ina*_*ruk 46

这是一个简短的例子(假设您正在扩展PreferenceActivity):

public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    PreferenceScreen screen = getPreferenceManager().createPreferenceScreen(this);

    PreferenceCategory category = new PreferenceCategory(this);
    category.setTitle("category name");

    screen.addPreference(category);

    CheckBoxPreference checkBoxPref = new CheckBoxPreference(this);
    checkBoxPref.setTitle("title");
    checkBoxPref.setSummary("summary");
    checkBoxPref.setChecked(true);

    category.addPreference(checkBoxPref);
    setPreferenceScreen(screen);
}
Run Code Online (Sandbox Code Playgroud)

  • 为了让我的PreferenceFragment实际使用PreferenceScreen,我不得不调用`setPreferenceScreen(screen);`. (3认同)