Java 如何获取seekbar的进度值,它比实际进度值早?
我有一个问题,如何得到seekbar的进度值,它在实际进度值之前?我如何做到这一点这里有一段代码,可以获取seekbar上进度的实际值:Java 如何获取seekbar的进度值,它比实际进度值早?,java,android,android-seekbar,Java,Android,Android Seekbar,我有一个问题,如何得到seekbar的进度值,它在实际进度值之前?我如何做到这一点这里有一段代码,可以获取seekbar上进度的实际值: seek.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { @Override public void onStopTrackingTouch(SeekBar seekBar) { // TODO Auto-generated method stub
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;
}
});
这部分代码在使用seekbar时非常流行。但是我找不到任何解决方案,如何获得
int-progress
之前的int-progress
。所以我喜欢这样的东西:intprogressbefore
。提前感谢。在类级别声明变量progressBefore
:
private int progressBefore = 0;
这些方法包括:
private int getProgressBefore() {
return progressBefore;
}
private void setProgressBefore(int p) {
progressBefore = p;
}
在onProgressChanged()
中,每当您想做某事时,都要检查它,并在最后为它指定新的进度
:
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);
}
});
我知道你的意思,但这是第一个价值观。我想更新这个值,你喜欢int
实际进度
-1,所以之前的直接进度。你将在哪里使用该变量?在回调方法内部或其他地方?创建私有变量以保存progress@NikosHidalgo我将在onProgressChanged中使用这个变量。
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;
}
});