如何使用非英语项目创建导航抽屉?

时间:2014-07-26 06:55:30

标签: java android xml string

此代码存储在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个项目(从木星开始)时,它工作正常

2 个答案:

答案 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>

最后,你得到两个:你的星球本地名称和他们的英文参考名称。