21

我想添加一个自定义 xml,其中包含指向 res/values 文件夹的 URL。我可以添加文件,但如何通过 getResources() 读取其内容?

4

3 回答 3

26

更新:这似乎不再起作用(但它曾经)并且您无法在 android.xml 中创建自己的自定义类型。现在只有标准的可用资源类型有效

因此,实现这样的事情的唯一方法是,按照建议使用您的单独文件url.xml,并将您的所有 URL 都放在该文件中,这样它就不会与其他字符串混淆。它只是提高了可读性和可维护性,AFAIK。

URL 项现在看起来像,

<item name="myUrl" type="string">http://myUrl.com</item>

您需要以通常的方式访问:

String myurl = getResources().getString(R.string.myUrl);

原答案:

尝试这样的事情: -

网址.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <item name="myUrl" type="urls">http://myUrl.com</item>
</resources>

在你的活动中,得到它: -

String s = getResources().getString(R.urls.myUrl);

注意:-您无需在xml任何地方注册。只要确保它在res/values文件夹中可用。

快照:-

我是如何使用的

于 2013-03-01T08:08:04.560 回答
6
  1. 创建您的自定义 xml 文件,确保它位于 res 文件夹中(我已经通过将其放在 res/values 文件夹中进行了测试)
  2. 确保您在此 XML 中放置的所有值都是标准类型
  3. 然后,您可以使用相应的 R 调用。例如对于整数,您执行 R.integer.YOUR_CUSTOM_XML_VALUE。不管这个整数位于哪个 xml 中,只要它在 res 文件夹中,它就会被 R 注册。
于 2014-06-09T10:36:25.850 回答
0

是的,您可以拥有一个自定义文件:我只是这样做了几次。1)制作一个新的xml文件。2)使用文件格式作为你的包装器示例:

<?xml version="1.0" encoding="utf-8" ?>
<resources>
    <item name="languages">
        <languages>
            <language>
                <isocode>
                    en-UK
                </isocode>
                <name>
                    English (UK)
                </name>
            </language>
        </languages>
    </item>
</resources>
于 2019-03-27T23:57:56.493 回答