小编Cra*_*oll的帖子

TextView 上的 setText 将覆盖之前的文本

我有一个文本视图,它本身是线性布局的一部分。XML是:

<TextView
    android:id="@+id/label_text"
    android:layout_width="fill_parent"
    android:layout_height="77dp"
    android:layout_marginTop="3dp"/>
Run Code Online (Sandbox Code Playgroud)

在主程序中,我首先将文本视图设置为一个值:

private TextView character_speaking;

protected void onCreate (Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    character_speaking = (TextView) findViewById(R.id.label_text);
    character_speaking.setText("a text string that was large enough for two lines");
}
Run Code Online (Sandbox Code Playgroud)

这很好用。

然后我执行另一个 setText 以响应按钮按下:

public void handleNextButtonClick(View view) {
    character_speaking.setText("first one line message");
}
Run Code Online (Sandbox Code Playgroud)

这也有效

但是后来我又做了一个 setText 来响应另一个按钮的按下:

public void handlePrevButtonClick(View view) {
    character_speaking.setText("second one line message");
}
Run Code Online (Sandbox Code Playgroud)

和灾难来袭。第二行消息覆盖第一行消息而不清除它。

在编写第二行消息之前,是否有清除第一行消息的方法?

我已经尝试通过使用 EditText 而不是 TextEdit 来解决这个问题,但这是不可接受的,因为它允许用户在现场书写。

android textview settext

5
推荐指数
1
解决办法
8657
查看次数

标签 统计

android ×1

settext ×1

textview ×1