我有一个TextView,它有一个硬编码的字符串,我有一个动态变量,我想放在这个字符串的末尾.这是我的代码:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp">
<TextView
android:id="@+id/PeopleName"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="@string/Generic_Text"+"@{ Profile.name }" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
我遇到了问题 android:text="@string/Generic_Text"+"@{ Profile.name }".该Generic_Text州"我的名字是",则Profile.name是动态的,并从轮廓明显的变化来分析.我想要它,以便整个TextView输出是我的名字是{Profile.name}.任何帮助都会很棒.
我想知道是否有一种方法可以将<string>XML文件中定义的元素插入/注入到另一个<string>元素中,只需使用XML即可.
例如,我可以:
<string name="author">Francesco</string>`
Run Code Online (Sandbox Code Playgroud)
我正在寻找类似的东西:
<string name="about_application">Author: @string/author</string>`
Run Code Online (Sandbox Code Playgroud)
这getString(R.string.about_application)将导致"作者:Francesco".
我知道我可以使用String.format(string, formatArgs)例如Java代码中的两个元素组合:
<string name="author">Francesco</string>
<string name="about_application">Author: %1$s</string>`
Run Code Online (Sandbox Code Playgroud)
然后在代码中使用
String.format(getString(R.string.about_application), getString(R.string.author))
Run Code Online (Sandbox Code Playgroud)
但是我想直接用XML来做.
任何人都可以建议我这样做吗?
例如,我在xml中有一些字符串
<string name="String1">My String 1</string>
<string name="String2">My string 2</string>
Run Code Online (Sandbox Code Playgroud)
我希望在活动中显示类似My String 1:My string 2的内容
是否可以添加到相同的TextView以上
<TextView android:text="@string/String1"/>
<TextView android:text=": "/>
<TextView android:text="@string/String2"/>
Run Code Online (Sandbox Code Playgroud)
问题在于,如果将它们插入到TableLayout中,它们将被视为单元格,并且":"符号不会写在String1旁边(它写在两个字符串的中间).
是否可以在xml代码中只在一个TextView中连接字符串(不用Java编程)?我的意思是有任何语法来追加类似的字符串
<TextView android:text="@string/String1+:+@string/String2"/>
Run Code Online (Sandbox Code Playgroud)
谢谢