自定义 Seekbar class 实现 OnSeekBarChangeListener,onProgressChanged 从未调用
Custom Seekbar class implenting OnSeekBarChangeListener, onProgressChanged never called
我有一个已实现 OnSeekBarChangeListener 的自定义 Seekbar class,但从未调用方法 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);
}
为监听器工作。
我有一个已实现 OnSeekBarChangeListener 的自定义 Seekbar class,但从未调用方法 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);
}
为监听器工作。