You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Java中为RangeSlider添加OnChangeListener的报错问题咨询

RangeSlider OnChangeListener 监听器报错解决方案

报错原因

  • 你当前实现的onValueChange方法第一个参数类型为Slider,不符合RangeSlider.OnChangeListener的泛型约束,RangeSlider对应的监听器要求方法第一个入参必须是RangeSlider类型,方法签名不匹配导致编译器判定未实现抽象方法,触发第一条报错。
  • 由于方法签名和父类要求不一致,@Override注解无法匹配到父类的对应方法,触发第二条覆盖失败报错。

修正代码

首先确认导入的依赖包正确:

import com.google.android.material.slider.RangeSlider;
import androidx.annotation.NonNull;
import java.util.List;

修正后的监听器代码如下:

intensitySlider.addOnChangeListener(new RangeSlider.OnChangeListener() {
    @Override
    public void onValueChange(@NonNull RangeSlider slider, float value, boolean fromUser) {
        List<Float> b = slider.getValues();
        // 补充你的业务逻辑即可,b.get(0)为左滑块值,b.get(1)为右滑块值
    }
});

如果你的项目已开启Java 8及以上版本支持,可使用lambda简化写法:

intensitySlider.addOnChangeListener((slider, value, fromUser) -> {
    List<Float> b = slider.getValues();
    // 业务逻辑
});

内容的提问来源于stack exchange,提问作者K.O.I.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 03:09:03