2017-09-01 59 views
0

在Android中的布局(XML)中,您可以使用属性android:text启动一些包含文本值的UI组件。据我所知,你只能传递硬编码文字或没有参数的简单字符串(即R.string.xxx)。Android中的高级字符串文字支持?

我想知道关于两个以下情况:

情况1:字符串与参数占位符

实施例:

<string name="restart">Restart %1$s</string> 

情况2:复数

实施例:

<plurals name="years"> 
    <item quantity="one">%1$s year</item> 
    <item quantity="other">%1$s years</item> 
</plurals> 

据我所知,我需要以编程方式(在膨胀布局的片段/活动中)使用这些字符串设置android:text属性。我认为这不是很干净。

问题:有没有办法直接在XML中设置这些字符串(带参数)?

回答

1

这是不可能的,因为string.xml资源被添加到R.javaR.java是一个自动生成的文件,包含项目中使用的所有资源。如果您想在运行时更改strings.xml,则不能。

这是Android中最基本的东西。您必须阅读Android开发人员文档,然后才能获得有关它的良好知识。