TextView中的默认文本

时间:2018-08-13 19:50:38

标签: android textview

如果我有这样的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>);

每次?

4 个答案:

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

  1. 在res / values / strings.xml中创建字符串资源

    <string name="time_prefix">"Elapsed Time: %s"</string>
    
  2. 获取资源字符串并使用它连接您的值

    String text = getResources.getString(R.string.time_prefix);
    String formattedText = String.format(text, X);
    
  3. 将带格式的文本设置为textView

    mTimeTextView.setText(formattedText);
    

注意:如果您的值X是整数,请使用%d

答案 2 :(得分:0)

除非您将两个文本视图放在一起并且它们之间没有空白,否则您不能这样做。左侧的textview将具有“经过的时间:”文本,右侧的textview将具有某些值。然后,只更新右侧的textview。

答案 3 :(得分:-1)

您是否尝试过创建自定义TextView并覆盖setText ..? 我目前不在电脑旁,但会尝试并发送一些代码。