2010-08-31 83 views
11

的Android允许创建像资源字符串的别名:可以将android资源字符串合并为新的字符串吗?

<resources> 
<string name="foo">somestring</string> 
<string name="bar">@string/foo</string> 
</resources> 

指资源“栏”成为名为“foo”的资源的别名。

什么,我会为我的应用程序是对现有资源的前缀与后缀不同组合,即延长它像一个可能性:

<resources> 
<string name="foo">foo</string> 
<string name="bar">@string/foo+bar</string> 
<string name="else">@string/foo+else</string> 
</resources> 

在资源“栏”将产生字符串“FOOBAR”。它清楚地表明'+'在这里不起作用,但是还有其他一些选择来实现这样的字符串连接,以便可以定义一堆具有公共前缀的字符串资源?

我意识到我当然可以在运行时做这样的资源字符串连接,但是在资源中静态地定义它们看起来会更加优雅和简单。

Michael

回答

15

不,这是不可能的。 你可以只使用<string name="bar">This is my %s</string> 然后用String.format()在你的应用,填补了变量,例如

getResources().getString(R.string.foo); 
+0

的字符串,导致组合的2将成为'的String.format(getResources()。的getString(R。 string.bar),getResources()。getString(R.string.foo))'' – Paul 2016-02-27 18:49:29