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 ...
AFAIKCheckBoxPreference
仅具有选中/未选中状态,而无法返回任何值。
我正在考虑将首选项键仅设置为具体墓地的ID而不是category_<ID>
,然后调用sharedPreferences.getAll()
-我希望只返回选中的CheckBoxPreferences
,然后通过获取其键,我应该可以使用类别ID进行操作...这可能是一个简单的解决方案和好的方法吗???
非常感谢您提供任何适当的建议!!!
没有找到相关结果
已邀请:
1 个回复
爆刺疤灯