此代码存储在res / values / strings.xml
中 <string-array name="planets_array">
<item>एक काम</item>
<item>दो काम</item>
<item>तीन काम</item>
<item>चार काम</item>
</string-array>
数组将传递到将在导航抽屉中使用的ArrayAdapter。 但是,我希望使用英文名称引用这些项目。
修改
此代码是根据Dave建议的更改完成的。
<resources>
<string name="Mercury">एक काम</string>
<string name="Venus">दो काम</string>
<string name="Earth">तीन काम</string>
<string name="Mars">चार काम</string>
<string name="app_name">Navigation Drawer Example</string>
<string-array name="planets_array">
<item>@string/Mercury</item>
<item>@string/Venus</item>
<item>@string/Earth</item>
<item>@string/Mars</item>
<item>Jupiter</item>
<item>Saturn</item>
<item>Uranus</item>
<item>Neptune</item>
</string-array>
<string name="drawer_open">Open navigation drawer</string>
<string name="drawer_close">Close navigation drawer</string>
<string name="action_websearch">Web search</string>
<string name="app_not_available">Sorry, there\'s no web browser available</string>
</resources>
当我点击前四个项目时,行星抽屉中的相应图像不显示在导航抽屉中,但是当我点击最后4个项目(从木星开始)时,它工作正常
答案 0 :(得分:1)
您可以为每个项设置名称属性,但您必须解析 strings.xml 文件并使用可用的getValue一组属性。检查这个问题:
Get name attribute of item of string array
我没有时间试试这个。
答案 1 :(得分:0)
已经回答here。
正如Android reference所说:
<item>
...
The value can be a reference to another string resource.
...
<强>解决方案:强>
首先,您必须使用英文名称编写简单的字符串元素:
<string name="english_planet_1_name">एक काम</string>
<string name="english_planet_2_name">दो काम</string>
<string name="english_planet_3_name">तीन काम</string>
<string name="english_planet_4_name">चार काम</string>
然后你可以在任何地方引用它们,甚至可以从字符串数组中引用它们:
<string-array name="planets_array">
<item>@string/english_planet_1_name</item>
<item>@string/english_planet_2_name</item>
<item>@string/english_planet_3_name</item>
<item>@string/english_planet_4_name</item>
</string-array>
最后,你得到两个:你的星球本地名称和他们的英文参考名称。