简体   繁体   English

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

[英]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: 我如何在这里执行此代码,该代码可在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 . 但是我找不到任何解决方案,如何才能获得int progress之前的int progress So I m loking for something like: int progressbefore . 所以我很想找类似的东西: int progressbefore Thanks in advance. 提前致谢。

Declare a variable progressBefore at the class level: 在班级之前声明一个可变的progressBefore

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 : 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);
    }
});
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;
}
});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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