Android-如何让倒计时计数器更改文本视图

Android-如何让倒计时计数器更改文本视图,android,kotlin,timer,android-databinding,Android,Kotlin,Timer,Android Databinding,既然我找不到任何类似的东西,我也不明白为什么它不起作用,有人能帮我解决吗 我有一个小安卓应用程序,它使用一个主要活动,其余部分由片段组成。 在这一片段中,我有一个计数器,它应该更新通过数据绑定连接到ViewFragment中变量的TextView。这是我的计时器,timerText是通过布局xml绑定的变量 private val timer = object : CountDownTimer(R.integer.defaultTimeMilli.toLong(), 1000) {

既然我找不到任何类似的东西,我也不明白为什么它不起作用,有人能帮我解决吗

我有一个小安卓应用程序,它使用一个主要活动,其余部分由片段组成。 在这一片段中,我有一个计数器,它应该更新通过数据绑定连接到ViewFragment中变量的TextView。这是我的计时器,timerText是通过布局xml绑定的变量

  private val timer = object : CountDownTimer(R.integer.defaultTimeMilli.toLong(), 1000) {
    override fun onTick(millisUntilFinished: Long) {
        timerText = (millisUntilFinished/1000).toString()
    }

    override fun onFinish() {
       _timerIsFinished.value = true
    }
}
即使计时器启动,我的片段中的文本也不会在节拍上更新。如果你需要我的代码中的更多东西,尽管问。提前谢谢

编辑: 以下是XML文件的相关部分:

   <TextView
        android:id="@+id/timerTextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@{gameFragmentViewModel.timerText}"
        android:textAlignment="center"
        android:textSize="18sp"
        android:textStyle="bold"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/pointsTextView"
        app:layout_constraintVertical_bias="0.228" />

找到了它不起作用的原因。 如果像我一样使用数据绑定,请将字符串放入LiveData变量中。 这意味着我现在得到了

private var _timerText = MutableLiveData<String>()
val timerText : LiveData<String>
    get() = _timerText
private var\u timerText=MutableLiveData()
val timerText:LiveData
get()=\u timerText

timerText是布局XML引用的文本,timerText由计时器编辑。

尝试使用postValue而不是setValue。