如何获取搜索栏的进度值(实际进度值之前)?

时间:2018-12-11 12:09:07

标签: java android android-seekbar

我有一个问题,如何获取搜索栏的进度值,该值在实际进度值之前?我该怎么办呢?这是一个代码,可以在seekbar上获取进度的实际值:

seek.setOnSeekBarChangeListener(new 

OnSeekBarChangeListener() {

    @Override
    public void onStopTrackingTouch(SeekBar seekBar) {
        // TODO Auto-generated method stub
    }

    @Override
    public void onStartTrackingTouch(SeekBar seekBar) {
        // TODO Auto-generated method stub
    }

    @Override
    public void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser) {
        // TODO Auto-generated method stub
        p=progress;
    }
});

在使用搜索栏时,这部分代码非常受欢迎。但是我找不到任何解决方案,如何获得int progress之前的int progress。所以我很想找类似int progressbefore的东西。预先感谢。

2 个答案:

答案 0 :(得分:1)

在类级别声明变量progressBefore

private int progressBefore = 0;

和这些方法:

private int getProgressBefore() {
    return progressBefore;
}

private void setProgressBefore(int p) {
    progressBefore = p;
}

onProgressChanged()内并在每次您想做某事时进行检查,最后为其分配新的progress

seek.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
    @Override
    public void onStopTrackingTouch(SeekBar seekBar) {
        // TODO Auto-generated method stub
    }

    @Override
    public void onStartTrackingTouch(SeekBar seekBar) {
        // TODO Auto-generated method stub
    }

    @Override
    public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
        int p = getProgressBefore();
        // do something
        setProgressBefore(progress);
    }
});

答案 1 :(得分:0)

undefined