gpt4 book ai didi

java - 如何使用变量访问 getStringArray

转载 作者:行者123 更新时间:2023-12-02 09:14:20 25 4
gpt4 key购买 nike

我确信有一个完美的好方法可以做得更好,但基本上我想要的是通过 strings.xml 创建 2-dim 数组。

即。我有一个主要类别:

<string-array name="main_categories">
<item>index_etf</item>
<item>region_etf</item>
<item>commodity_etf</item>
</string-array>

还有一堆子类别:

<string-array name="index_etf">
<item>DOW</item>
<item>NASDAQ</item>
</string-array>

而不是像这样进行硬编码:

    MainCategoryArray = getResources().getStringArray(R.array.main_categories);
IndexETFArray = getResources().getStringArray(R.array.index_etf);
...

我想做这样的事情:

    MainCategoryArray = getResources().getStringArray(R.array.main_categories);

loop through the main array and populate the sub categories

不确定我是否可以使用基于 MainCategoryArray 内容的 int 变量访问 getStringArray,是吗?

有没有更好的方法来构建基于strings.xml的多维?抱歉,刚接触这个。

最佳答案

试试这个,

Variable declaration

private final static String TAG = MainActivity.class.getSimpleName();
private ArrayList<String> mainCategoryArray;
private ArrayList<ArrayList<String>> categoryArrays = new ArrayList<>();

Usage

 mainCategoryArray = new ArrayList<>(Arrays.asList(getResources().getStringArray(R.array.main_categories)));
for(String mainCategory : mainCategoryArray){
try {
categoryArrays.add(new ArrayList<>(Arrays.asList(getResources().getStringArray(getResources().getIdentifier(mainCategory, "array", getPackageName())))));
} catch (Resources.NotFoundException e){
Log.e(TAG, e.toString());
}
}

Sample strings.xml array

<string-array name="main_categories">
<item>index_etf</item>
<item>region_etf</item>
<item>commodity_etf</item>
</string-array>

<string-array name="index_etf">
<item>DOW</item>
<item>NASDAQ</item>
</string-array>

<string-array name="region_etf">
<item>DOW</item>
<item>NASDAQ</item>
</string-array>

<string-array name="commodity_etf">
<item>DOW</item>
<item>NASDAQ</item>
</string-array>

希望这有帮助:)

关于java - 如何使用变量访问 getStringArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60612899/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com