简体   繁体   中英

How to get the progress value of seekbar, which was BEFORE the actual progress value?

I have a question, How to get the progress value of seekbar, which was BEFORE the actual progress value? How can I do this here is a code which gets tehe actual value of progress on 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;
    }
});

This part of code is pretty popular when you are using a seekbar. But I couldn t find any solution how you can get the int progress which was before of the int progress . So I m loking for something like: int progressbefore . Thanks in advance.

Declare a variable progressBefore at the class level:

private int progressBefore = 0;

and these methods:

private int getProgressBefore() {
    return progressBefore;
}

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

and inside onProgressChanged() check it every time you want to do something and at the end assign to it the new 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);
    }
});
seek.setOnSeekBarChangeListener(new 

OnSeekBarChangeListener() {
private int prevousProgressValue = 0;
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
    // TODO Auto-generated method stub
}

@Override
public void onStartTrackingTouch(SeekBar seekBar) {
    // TODO Auto-generated method stub
    prevoiusProgresValue = seekBar.getProgress(); //start value;
}

@Override
public void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser) {
    // TODO something with current

    previousProgresValue = progress;
}
});

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM