向TextView添加多个String

时间:2010-11-17 17:05:02

标签: android xml layout textview

我在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"/>

由于

4 个答案:

答案 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”)。