Android-如何为CheckBoxPreference设置值?要么?

| 我正在构建一个应用程序,当用户可以检查主要活动的列表视图中将显示哪些类别的项目时,我需要在其中显示设置屏幕。 我正在为这些类别解析XML,因此ѭ0done是通过编程方式完成的,所有
CheckBoxPreferences
都是循环构建的。码:
try {
    URL url = new URL(\"http://www.someurl.com/phone/categories.php\");

    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    DocumentBuilder db = dbf.newDocumentBuilder();
    Document doc = db.parse(new InputSource(url.openStream()));
    doc.getDocumentElement().normalize();

    NodeList nodeList = doc.getElementsByTagName(\"category\");

    for (int i = 0; i < nodeList.getLength(); i++) {                
        Element category = (Element)nodeList.item(i);

        Node id = category.getElementsByTagName(\"id\").item(0);
        Node title = category.getElementsByTagName(\"name\").item(0);

        CheckBoxPreference togglePref = new CheckBoxPreference(this);
        togglePref.setKey(\"category_\" + id.getChildNodes().item(0).getNodeValue());
        togglePref.setDefaultValue(true);
        togglePref.setTitle(title.getChildNodes().item(0).getNodeValue());
        root.addPreference(togglePref);
    }
} catch(Exception ex) {
    Log.e(this.getClass().getSimpleName(), ex.getMessage());
}
其中“ 3”是“ 0”对象。 我的问题是,我不仅需要存储一个复选框选项的标题,而且还需要存储类别的ID,但在“ 5”对象中没有此类属性。 我的问题是是否还有其他解决方法,还是应该扩展
CheckBoxPreference
类并创建一些自定义
MyCheckBoxPreference
来存储另一个“值”? 我的愿景是具有与通用HTML复选框类似(或相同)的内容-虽然它具有一个值,但如果未选中该复选框,则不会设置(提交),另一方面,如果选中此复选框,则您将获得具体的值,而不仅仅是true / false ... AFAIK
CheckBoxPreference
仅具有选中/未选中状态,而无法返回任何值。 我正在考虑将首选项键仅设置为具体墓地的ID而不是
category_<ID>
,然后调用
sharedPreferences.getAll()
-我希望只返回选中的
CheckBoxPreferences
,然后通过获取其键,我应该可以使用类别ID进行操作...这可能是一个简单的解决方案和好的方法吗??? 非常感谢您提供任何适当的建议!!!     
已邀请:
  我的问题是,我不仅需要存储一个复选框选项的标题,而且还需要存储类别的ID,但CheckBoxPreference对象中没有此类属性。 恕我直言,这就是关键所在。   我正在考虑将首选项键仅设置为具体墓地的ID而不是category_,然后调用sharedPreferences.getAll()-我希望只返回检查的CheckBoxPreferences,然后通过获取其键我应该可以操作与类别ID ...这可能是一个简单的解决方案和好的方法吗??? 您将获得用户触摸过的所有“ 5”个对象,无论它们是否选中。这可能是正确的方法。     

要回复问题请先登录注册