我想创建一些搜索XML文件的内容,以查看用户输入的字符串是否存在。我的XML文件如下所示:
<?xml version="1.0" encoding="utf-8"?>
<resources><string-array name="dict_nl_array" ><item>ADHD</item><item>ADSL</item><item>AMvB</item><item>AOV</item><item>AOW</item><item>uniteit</item></string-array></resources>
唯一的区别是我的XML大约是此的500倍。 我尝试直接加载arraylist(xml),但后来我收到了这个错误:
无法添加到JNI本地ref表(有512个条目)
这似乎是合乎逻辑的,因为它是一个巨大的物品清单。 所以,我在想,我是否可以搜索该XML文件,而无需完全加载?
当然,欢迎提出其他建议! (如果可能的话,举个例子,我非常感谢!)
答案 0 :(得分:1)
迟到的答案,但它可能会帮助其他任何人解决这个问题!
根据this question,您可以将资源编码为string
,而不是string-array
来避免此错误。
<string name="array">ADHD#ADSL#AOV#AOW</string>
#
字符分隔条目。要加快重新格式化,只需使用</item><item>
查找/替换#
。然后你可以将字符串解析成如下数组:
myStringArray = getResources().getString(R.id.array).split("#");
希望这有帮助!