Как обновить значение textview на основе индикатора прогресса в Kotlin

Я хотел бы использовать ObjectAnimator для анимации с помощью ProgressBar прогресса. Однако я не смог бы обновить текст, так как я не использую цикл for. Как лучше всего обновить Textview при использовании ObjectAnimator? Вот что я пытался обновить, но мне это не удалось:

val animation = ObjectAnimator.ofInt(progressbar, "progress", 0, 10000)
   animation.setDuration(2000)
   animation.setInterpolator(DecelerateInterpolator())
   animation.start()
   var progress=progressbar.getProgress() /100
   progtxt.text="$progress%"

person Uni    schedule 04.06.2019    source источник
comment
что вы используете для progressbar ?   -  person Dinesh Shingadiya    schedule 04.06.2019
comment
Я имею в виду SeekBar или ProgressBar   -  person Dinesh Shingadiya    schedule 04.06.2019
comment
@DineshShingadiya за то, что сообщает пользователю о прогрессе, например, меню загрузки   -  person Uni    schedule 04.06.2019


Ответы (2)


С ObjectAnimator вы можете использовать прослушиватель обновлений:

    animation.addUpdateListener(object: ValueAnimator.AnimatorUpdateListener {
        override fun onAnimationUpdate(animation: ValueAnimator?) {
            val progress = animation?.animatedValue as Int
            // Update you text view
        }
    })

Здесь, в onAnimationUpdate, вы можете получить анимированное значение или индикатор выполнения в зависимости от того, что вам нужно, и установить его в текстовом представлении.

person Demigod    schedule 04.06.2019
comment
@TechMaxed, метод TextView.setText(int) принимает строковый идентификатор ресурса (например, R.string.text). Чтобы установить номер в виде текста, используйте TextView.text = progress.toString() - person Demigod; 04.06.2019
comment
или TextView.text = $прогресс - person ibrahimyilmaz; 04.06.2019

Не уверен, что вы сможете сделать это с анимацией.

Но вы можете использовать SeekBar.OnSeekBarChangeListener

person Bruno    schedule 04.06.2019
comment
Спасибо за попытку помочь мне, но я использую индикатор выполнения, а не панель поиска. - person Uni; 04.06.2019