相关疑难解决方法(0)

你多久可以更新一次textview而不会搞乱

假设一个textview

TextView tvSum = findViewById(R.id.sumTexviewId);
Run Code Online (Sandbox Code Playgroud)

如果我想更改显示的文本,我这样做:

tvSum.setText("£0.00");
Run Code Online (Sandbox Code Playgroud)

现在,假设我经常这样做,每次按下按钮时都说,也许显示在一个按钮上输入的总和.在这个例子中,你按一个,它说"1p",然后按两个,它说"12p",依此类推.

我发现如果我这样做,文本会在一段时间后变形.对于序列12345,从一切开始是好的:

  • 0P (没什么压力)
  • 1P ("1"按下)
  • 12P (然后按下"2")
  • £1.23 (然后按下"3")

然而,事情变得混乱之后:

  • 混乱:12.34英镑 (然后按下"4")
  • 混乱:123.45英镑 (然后按下"5")

之后它永远不会变得更好.我没有发布代码,因为代码真的很简单:一堆按钮,只写一个短字符串到一个textview - 代码中的任何内容都不应该导致这个,诚实.(是的,我已经通过把它放在Toast上来检查写入的字符串是否正确.)是否还有其他人遇到过这个问题,如果有的话是什么解决了它?

android textview

9
推荐指数
1
解决办法
1257
查看次数

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 ×2

textview ×2

settext ×1