android string-array xml 引用,用xml引用字符串数组资源中的字符串

不幸:

似乎您无法使用XML在values / arrays.xml中的数组中引用单个项目。当然可以用Java,但不能用XML。Android开发人员参考资料中没有关于此操作的信息,我在其他任何地方都找不到。

似乎您不能在首选项布局中使用数组作为键。每个键必须是具有其自己的键名称的单个值。

我要完成的工作:我希望能够遍历这17个首选项,检查是否已选中该项,如果是,则从字符串数组中为该首选项名称加载字符串。

这是我希望完成此任务的代码:

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());

ArrayAdapter itemsArrayList = new ArrayAdapter(getBaseContext(),   android.R.layout.simple_list_item_1);

String[] itemNames = getResources().getStringArray(R.array.itemNames_array);

for (int i = 0; i < 16; i++) {

if (prefs.getBoolean("itemKey[i]", true)) {

itemsArrayList.add(itemNames[i]);

}

}

我做了什么:

我为每个项目设置了单个字符串,并在中引用了单个字符串。我将单个字符串引用用于首选项布局复选框标题,并将数组用于循环。

为了遍历首选项,我只命名了键,例如key1,key2,key3等。由于您使用字符串引用了键,因此可以选择在运行时“构建”键名称。

这是新的代码:

for (int i = 0; i < 16; i++) {

if (prefs.getBoolean("itemKey" + String.valueOf(i), true)) {

itemsArrayList.add(itemNames[i]);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值