如果我有这样的textview
:
<TextView
android:id="@+id/time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Elapsed Time: " />
我希望我的应用程序始终显示“经过的时间:”,后跟一些将在MainActivity中更新的值。不这样做怎么办
mTimeTextView.setText("Elapsed Time: " + <some value here>);
每次?
答案 0 :(得分:4)
另一种方法是在字符串资源中使用令牌。
在strings.xml中
<string name="elapsed_time">Elapsed time: %1$s</string>
在布局xml中
<TextView android:text="@string/elapsed_time"
用代码
mTimeTextView.setText(resources.getString(R.string.elapsed_time, <some value here>))
答案 1 :(得分:1)
在res / values / strings.xml中创建字符串资源
<string name="time_prefix">"Elapsed Time: %s"</string>
获取资源字符串并使用它连接您的值
String text = getResources.getString(R.string.time_prefix);
String formattedText = String.format(text, X);
将带格式的文本设置为textView
mTimeTextView.setText(formattedText);
注意:如果您的值X是整数,请使用%d
答案 2 :(得分:0)
除非您将两个文本视图放在一起并且它们之间没有空白,否则您不能这样做。左侧的textview将具有“经过的时间:”文本,右侧的textview将具有某些值。然后,只更新右侧的textview。
答案 3 :(得分:-1)
您是否尝试过创建自定义TextView并覆盖setText ..? 我目前不在电脑旁,但会尝试并发送一些代码。