如何在安卓系统中更新TextView中某一行的文字?

0 人关注

我有TextView,我在其中发布状态信息,如

Device found.
Device connected. 
Syncing with device (Syncing %).
Device disconnected.

我正在使用TextView.append()来发布这些状态信息到TextView。如何更新与设备同步(同步%)行中的同步百分比值(我不想用新的同步值附加一个新的行)。是否可以,如果不可以,我应该用什么视图组件来实现这个效果?

android
textview
A-run
A-run
发布于 2021-04-04
2 个回答
Mohit Ajwani
Mohit Ajwani
发布于 2021-04-04
0 人赞同

你可以使用一个 ObservableField<String>() 作为文本字段的值。不断地更新这个值。使用数据库绑定将此值绑定到xml中的文本视图。

每当你想更新数值时,只需在字段变量上调用 set("YOUR_VALUE") ,并在 YOUR_VALUE 的位置设置你想要的文本。这将自动刷新你的视图。这将是一个干净、可读和可维护的代码。

Kotlin File:

var syncFieldText = ObservableField<String>()
syncFieldText.set("Syncing.")
<layout>
    <variable
        name="item"
        type="YOUR_PACKAGE.MODEL_OR_VIEWMODEL" />
</data>
<ConstraintLayout>
    <TextView
        android:text="@{item.syncFieldText}"
</ConstraintLayout>
</layout>

我的例子只是针对一条线。对多行也可以实现同样的效果。你可以使用相同的观察变量来更新整个文本视图本身。

AYUSH SINGH
AYUSH SINGH
发布于 2021-04-04
0 人赞同