2017-08-30 69 views
0

我试图在Android Studio的资源中设置一个带有变量的XML属性,但没有运气。使用变量设置XML属性

事情是这样工作的:

<resources> 
    <string name="Key">@string/Key</string> 
</resources> 

但是这样的事情并不:

<resources> 
    <string name="Key" custom-attribute="@string/Key"/> 
</resources> 

你如何使用XML属性变量?

这不是问题Android xml reference within xml doesn't work

第一个示例正常工作,我可以使用变量设置字段值。第二个例子不起作用,我无法设置属性。

+0

u能请详细说明你的问题吗?这个问题的用例是什么?你在哪里使用这个?可能有另一种方法来解决你的实际问题。 –

+0

我的用例需要Salesforce Mobile SDK中的不同服务器URL。这里是他们的文档:https://developer.salesforce.com/docs/atlas.en-us.mobile_sdk.meta/mobile_sdk/oauth_custom_login_host.htm 所以我想每个环境的服务器url更改。我将服务器url设置为字符串中的变量。 –

+0

您是否在xml文件夹中创建server.xml文件。您必须创建一个名称为xml的新目录,因为默认情况下它不存在。在文档中,您必须在xml中创建

回答

0

在这里我们可以定义res /文件夹中的资源。 您可以创建自己的文件并使用下面的示例。 价值的东西不会工作。

<resources> 
<string name="button">Try Again</string> 
<dimen name="margin">56dp</dimen> 
<bool name="isCorrect">false</bool> 
<color name="background">#fff</color> 
<drawable name="icon">@drawable/ic_about_us</drawable> 
<integer name="count">56</integer> 
<string-array name="days"> 
     <item>Monday</item> 
     <item>Sunday</item> 
</string-array> 
</resources> 

而且通过R.id.nameOfResource Here使用更加去探索它们。 希望这有助于。

更新:我们也可以在build.gradle脚本中定义像这样的资源。

android { 
    buildTypes.each { 
     it.resValue 'string', 'serverLink', "https://mylink.com" 
    } 
} 
+0

对不起,没有看到这将如何设置XML属性。对于像。希望从变量中获取颜色属性。 –

+0

这是无效的,我猜。因为我们不能像这样定义一个字符串或任何类型的资源。即使定义我们自己的样式属性,我们也不能给字符串资源一种颜色和字符串值。 –

+0

字符串和颜色就是例子。它可能是 只是寻找将XML字段上的属性设置为定义的变量。 –

0
<resources> 
    <string name="Key">Some Value</string> 
</resources> 

应该给你同样的结果:

<resources> 
    <string name="Key" value="Some Value"/> 
</resources> 

因为,我会建议使用第一个例子是可以正常工作的。

+0

使用键和值可能是一个错误作为例子。如果你想设置一个自定义属性就是我正在寻找的。价值可以是任何东西,比如Custom-Attr。 –

0

试试这个:

<string name="Key1">Some Text</string> 
<string name="Key2">@string/Key1</string> 

更新:

<string name="Key1">Some Text</string> 
<string name="Key2"> 
    <some-attribute>@string/Key1</some-attribute> 
</string> 
+0

这适用于XML值,但不适用于设置属性 –

+0

@DanCorey更新。 –

+0

谢谢,但字段和属性不是一回事。查看https://www.w3schools.com/xml/xml_dtd_el_vs_attr.asp –

相关问题