2015-08-06 2 views
1

Событие изменения прогресса может быть уведомлено onProgressChanged в интерфейсе OnSeekBarChangeListener().Как определить, уменьшается или увеличивается изменение прогресса в поисковой строке?

Но как узнать, уменьшает ли изменение прогресс или увеличивает его? Или есть интерфейс или метод, как: onSeekBarProgressDecreased(....) или onSeekBarProgressIncreased(...)

+4

Отслеживать предыдущее значение? – tachyonflux

+1

Вы можете отслеживать текущее значение и сравнивать его с предыдущим значением – therealprashant

ответ

6

Там нет интерфейса для снижения прогресса или увеличения событий. Вы должны следить за этим. Вы можете использовать что-то вроде этого.

int prevProgress; 
mSeekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener(){ 
    @Override 
     public oid onProgressChanged (SeekBar seekBar, int progress, boolean fromUser){ 
     int diff = progress - prevProgress; 
     if(diff > 0){ 
      //increase 
      } 
     else{ 
      //decrease 
      } 
     prevProgress = progress; 
     } 

}); 
3
private prevValue; 

seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { 



       @Override 

       public void onProgressChanged(SeekBar seekBar, int progresValue, boolean fromUser) { 
if(progressValue < prevValue){ 

        Toast.makeText(getApplicationContext(), "Progress decreased", Toast.LENGTH_SHORT).show(); 

       }else if(progressValue > prevValue){ 


Toast.makeText(getApplicationContext(), "Progress increased", Toast.LENGTH_SHORT).show(); 
} 

prevValue = progresValue; 

} 
    .... 


       } 
+0

Если это решило вашу проблему, пожалуйста, примите ans –

Смежные вопросы