android - 实现 OnSeekBarChangeListener 的自定义 Seekbar 类,从未调用过 onProgressChanged
问题描述
我有一个自定义的 Seekbar 类,它实现了 OnSeekBarChangeListener,但该方法onProgressChanged
从未被调用,我不确定为什么。
public class SeekbarSphereNodeRotator extends AppCompatSeekBar implements AppCompatSeekBar.OnSeekBarChangeListener {
private static final String TAG = "SeekbarSphereNodeRotato";
public SeekbarSphereNodeRotator(Context context) {
super(context);
//Gets called
Log.d(TAG, "SeekbarSphereNodeRotator: " + mCurrentRotatedAngle);
}
public SeekbarSphereNodeRotator(Context context, AttributeSet attrs) {
super(context, attrs);
}
public SeekbarSphereNodeRotator(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
//Never called
Log.d(TAG, "onProgressChanged: " + progress);
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
}
调用了构造函数,但是onProgressChanged
当我移动搜索栏拇指时,该方法永远不会出现。我做错了什么?
mSeekbarImageRotater = new SeekbarSphereNodeRotator(MainActivity.this);
编辑:
我试过添加setOnSeekBarChangeListener(this);
构造函数,但这也不起作用。
解决方案
我不得不设置
setOnSeekBarChangeListener(this);
在
public SeekbarSphereNodeRotator(Context context, AttributeSet attrs) {
uper(context, attrs);
}
让听众工作。
推荐阅读
- python - 在使用python的图像中围绕整个文本块绘制边界框
- delphi - 如何为媒体播放器组件启用自动播放?
- reactjs - nx React/Next.js 共享类型声明文件
- python - 如何使用 frida 脚本提取 Aes 密钥
- mysql - 此列添加语句中的语法错误是什么?
- javascript - 当我尝试在nodejs上运行firebase登录时它不起作用
- mysql - Grails 4,runtime.groovy 文件在测试环境中不起作用
- python - `multiprocessing.Process` 正在修改他们不应访问的非共享变量
- django - DRF 更新对象的嵌套外键
- c# - 使用 ASPNET C# 带有主格月份的下拉列表“ddlmonth”