[英]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.