【问题标题】:Custom Seekbar class implenting OnSeekBarChangeListener, onProgressChanged never called实现 OnSeekBarChangeListener 的自定义 Seekbar 类,从未调用过 onProgressChanged
【发布时间】:2021-01-19 18:22:47
【问题描述】:

我有一个自定义的 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);,但这也不起作用。

【问题讨论】:

    标签: android android-seekbar


    【解决方案1】:

    我必须设置

    setOnSeekBarChangeListener(this);

    public SeekbarSphereNodeRotator(Context context, AttributeSet attrs) {
       uper(context, attrs);
    }
    

    让监听器工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-04-05
      • 1970-01-01
      • 2013-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多