我目前正在使用来自Web服务的内容动态构建带有复选框的行列表。但是,此ListView将需要完成PreferenceActivity可以完成的工作。

我不知道行数,因为内容是动态的,所以我无法在XML中创建每个CheckBoxPreference。我该如何构建一个PreferenceActivity来动态显示带有CheckBoxPreference的未知数字行?

最佳答案

我认为您正在寻找这样的东西:

public class MyPreferenceActivity extends PreferenceActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.my_preference_activity);

        //fetch the item where you wish to insert the CheckBoxPreference, in this case a PreferenceCategory with key "targetCategory"
        PreferenceCategory targetCategory = (PreferenceCategory)findPreference("targetCategory");

        //create one check box for each setting you need
        CheckBoxPreference checkBoxPreference = new CheckBoxPreference(this);
        //make sure each key is unique
        checkBoxPreference.setKey("keyName");
        checkBoxPreference.setChecked(true);

        targetCategory.addPreference(checkBoxPreference);
    }
}

关于android - 动态创建CheckBoxPreferences,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6272551/

10-11 22:34