如何在 android studio 中的每次更改时从范围滑块获取值?

Bek*_*han 5 android kotlin

[这是范围滑块的图像] 1我正在使用方法从范围滑块获取值,但它不会在每次更改时更新我的​​文本视图。

 rangeSeek.addOnChangeListener { slider, value, fromUser ->
            changeDateValueForText(slider.valueFrom.toInt(),slider.valueTo.toInt())
 }

Run Code Online (Sandbox Code Playgroud)

saj*_*lsd 19

希望这能解决您的问题。请检查下面的代码片段。在此输入图像描述

override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_main)
    
            val rangeSlider: RangeSlider = findViewById(R.id.rangeSlider);
            val textView: TextView = findViewById(R.id.textView);
            val textView2: TextView = findViewById(R.id.textView2);
    
    
            //you get current (values when user start dragging the silder, also the update view
            rangeSlider.addOnSliderTouchListener(object : RangeSlider.OnSliderTouchListener{
                override fun onStartTrackingTouch(slider: RangeSlider) {
                    val values = rangeSlider.values
                    //Those are the satrt and end values of sldier when user start dragging
                    Log.i("SliderPreviousValue From", values[0].toString())
                    Log.i("SliderPreviousValue To", values[1].toString())
                }
    
                override fun onStopTrackingTouch(slider: RangeSlider) {
                    val values = rangeSlider.values
                    //Those are the new updated values of sldier when user has finshed dragging
                    Log.i("SliderNewValue From", values[0].toString())
                    Log.i("SliderNewValue To", values[1].toString())
    
                    textView.setText("Start value: ${values[0]}, End value: ${values[1]}")
                }
            })
    
    
            //If you only want the slider start and end value and don't care about the previous values
            rangeSlider.addOnChangeListener { slider, value, fromUser ->
                val values = rangeSlider.values
                textView2.text = "Start value: ${values[0]}, End value: ${values[1]}";
 }
Run Code Online (Sandbox Code Playgroud)