[英]How to get the progress value of seekbar, which was BEFORE the actual progress value?
我有一个问题,如何获取搜索杆的进度值,该值在实际进度值之前? 我如何在这里执行此代码,该代码可在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
。 提前致谢。
在班级之前声明一个可变的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);
}
});
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.