【问题标题】:How to get the attribute "value" from the array如何从数组中获取属性“值”
【发布时间】:2013-11-01 07:58:12
【问题描述】:

我正在尝试从 xml 文件中的数组中获取属性“值”。这是我的数组:

<resources>

    <string-array name="myArray">
        <item name="item1" value="www.something.com" type="urls">first url</item>
        <item name="item2" value="www.somethingelse.com" type="urls">second url</item>
    </string-array>

</resources>

基本上我有一个列表视图,它应该只显示网页的名称,并且在意图中,它们将被重定向到网站。我正在尝试将值转换为字符串。

任何帮助将不胜感激。

谢谢。

【问题讨论】:

  • Android 似乎忽略了&lt;item&gt; 中的属性。我认为您必须手动读取文件并解析 XML。
  • 我该怎么做?抱歉,我是新手。
  • 经过一番考虑,我认为您不需要这些属性。我发布了替代解决方案。
  • 问题是我不想在列表视图中显示网址,只是网站的名称。我需要某种解析器吗?
  • 我明白了。我建议改用 2 个数组;一个用于 URL,另一个用于网站名称。听起来可能效率不高,但绝对比尝试实现 XML 解析器更容易和简单。

标签: android xml android-listview


【解决方案1】:

根据您的要求,您可以这样做,而不是手动读取资源和读取文件内容/实现 XML 解析器。

<resources>
    <string-array name="array_url">
        <item>www.something.com</item>
        <item>www.somethingelse.com</item>
    </string-array>
</resources>
<resources>
    <string-array name="array_name">
        <item>first url</item>
        <item>second url</item>
    </string-array>
</resources>

然后用

得到数组
String[] urls= getResources().getStringArray(R.array.array_url);
String[] names= getResources().getStringArray(R.array.array_name);

列表使用names,点击后可以获取item位置,从urls读取URL。

【讨论】:

    【解决方案2】:
    Resources res = getResources();
    String[] websites = res.getStringArray(R.array.myArray);
    

    【讨论】:

      【解决方案3】:

      使用这个

      String[] temp = getResources().getStringArray(R.array.myArray);
      

      【讨论】:

      • 获得“第一个网址”?我想获得价值=“www.somne​​thing.com”。我怎样才能做到这一点?谢谢
      【解决方案4】:

      试试这个...

      String[] classes = getResources().getStringArray(R.array.myArray);
      

      【讨论】:

        猜你喜欢
        • 2019-03-15
        • 1970-01-01
        • 2018-03-31
        • 1970-01-01
        • 2021-04-03
        • 1970-01-01
        • 2015-04-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多