我在xml中有一些字符串,例如
<string name="String1">My String 1</string>
<string name="String2">My string 2</string>
我希望在活动中显示类似我的字符串1:我的字符串2
是否可以添加到相同的TextView而不是
<TextView android:text="@string/String1"/>
<TextView android:text=": "/>
<TextView android:text="@string/String2"/>
问题在于,如果将它们插入到TableLayout中,它们将被视为单元格,并且“:”符号不会写在String1旁边(它写在两个字符串的中间)。
是否可以在xml代码中只在一个TextView中连接字符串(不用Java编程)? 我的意思是有任何语法来追加类似
的字符串<TextView android:text="@string/String1+:+@string/String2"/>
由于
答案 0 :(得分:9)
你不能直接在xml中这样做,这是你能做的最好的事情:
<string name="welcome_messages">Hello, %1$s! You have %2$d new messages.</string>
Resources res = getResources();
String text = String.format(res.getString(R.string.welcome_messages), username, mailCount);
答案 1 :(得分:1)
我不是100%,但我不认为每个TextView可能有多个android:text。
如果您要使用三个TextView,则需要添加类似于String2的内容(或任何具有“:”的视图:
android:layout_toRightOf="@id/string1"
答案 2 :(得分:0)
请参阅我之前提到的related question。
使用XML中的字符串不可能做任何事情。你需要在Java中做到这一点。
答案 3 :(得分:0)
查看TableRow的API:
android:layout_span
- 定义这个孩子应该跨越多少列。
所以我认为你可以使用smth:
<TableRow android:layout_span="3">
<TextView android:id="@+id/your_entire_string" />
</TableRow>
然后在您的Activity
中按ID找到TextView
并填充(“我的字符串1”+“:”+“我的字符串2”)。