как изменить текст в textview в зависимости от процентного значения панели поиска в Kotlin

#kotlin #android-seekbar

#kotlin #android-панель поиска

Вопрос:

Я хочу изменить текст в зависимости от панели поиска, моя максимальная панель поиска равна 16. если бы у меня был

  • прогресс = <2 имел текст «Привет»

если

  • прогресс> 2, но 5 < прогресс «вы должны быть лучше!»

и т.д.

но это не сработало, я не знаю, что делать

Заранее благодарю всех вас!!

Код это XML TextView

  <com.example.garage.view.WriterTextView
        android:id="@ id/texview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:fontFamily="@font/font_friends"
        android:lineSpacingExtra="10sp"
        android:text="@string/old_you"
        android:textColor="@color/dark"
        android:textSize="18sp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.498"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.124" />


<SeekBar
        android:id="@ id/seekbar"
        android:layout_width="290dp"
        android:layout_height="40dp"
        android:rotation="270"
        android:max="16"
        android:min="0"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="@id/guide1"
        app:layout_constraintStart_toStartOf="@id/guide1"
        android:splitTrack="false"
        android:progressDrawable="@drawable/bg_seekbar"
        android:thumbOffset="10dp"
        android:thumb="@drawable/ic_ellipse"/>
  

Расширение класса

 fun startCoroutinesTimer(
        delayMillis: Long,
        repeatCount: Long,
        scope: CoroutineScope,
        action: () -> Unit
){}

fun SeekBar.setSeekbarChangeListener(action: (Int) -> Unit){ //progress от 0 -100
    setOnSeekBarChangeListener(object : SeekBar.OnSeekBarChangeListener {
        override fun onProgressChanged(p0: SeekBar?, progress: Int, p2: Boolean) {
            action(progress)
            /*textage.setText(progress)*/
            if (textage != null){

                textview.setText(progress "");
                if(progress >= 3 amp;amp; progress < 4)
                    textview.text = context.getString(R.string.wfsf)
                else if(progress >= 4 amp;amp; progress < 14)
                    textview.text = context.getString(R.string.ggdgr)
                else if(progress >= 15 amp;amp; progress <= 17)
                    textview.text = context.getString(R.string.ggdfghj)
            }
        }

        override fun onStartTrackingTouch(p0: SeekBar?) {}

        override fun onStopTrackingTouch(p0: SeekBar?) {}

    })
}
  

Комментарии:

1. Что происходит, когда вы запускаете это?

2. @Tenfour04 ничего textview не показывает текст

3. Вы уверены textage , что это не null? Используйте отладчик с точками останова, чтобы увидеть, выполняется ли ожидаемый код.

4. @Tenfour04 большое вам спасибо!!!! низкий поклон вам от меня!