onStopTrackingTouch вызывается автоматически после метода onStartTrackingTouch в Seekbar, не поднимая палец - PullRequest
0 голосов
/ 05 сентября 2018

У меня есть приложение, которое использует Android SeebBar, чтобы показать и изменить MediaPlayer прогресс.

Проблема:

Когда я касаюсь и перетаскиваю большой палец панели поиска, иногда он работает отлично, и мой прогресс MediaPlayer успешно изменяется, но иногда, когда я касаюсь и перетаскиваю большой палец панели поиска, он показывает эффект пульсации в нажатом состоянии, но не меняет свою позицию и ощущает жизнь, которую получил застрял.

Я попытался войти в систему, чтобы обнаружить проблему, затем обнаружил, что onStopTrackingTouch вызывается автоматически после onStartTrackingTouch метода в Seekbar, не поднимая палец и onProgressChanged не вызывается.

Код:

seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
        @Override
        public void onStartTrackingTouch(SeekBar seekBar) {
              Log.d(">>>>>>", "I'm in onStartTrackingTouch");                 
        }

        @Override
        public void onProgressChanged(SeekBar seekBar, int seekPosition, boolean fromUser) {
              Log.d(">>>>>>", "I'm in onProgressChanged");                 

             // Here i'm just changing seek position of MediaPlayer     
             // but sometimes it invokes successfully sometimes it doesn't :(            
        }

        @Override
        public void onStopTrackingTouch(SeekBar seekBar) {
              Log.d(">>>>>>", "I'm in onStopTrackingTouch");                 
        }
    });

Выход:

Иногда я получаю:

 >>>>>>  I'm in onStartTrackingTouch
 >>>>>>  I'm in onProgressChanged
 >>>>>>  I'm in onProgressChanged
 >>>>>>  I'm in onProgressChanged 
 >>>>>>  ... 
 >>>>>>  I'm in onStopTrackingTouch

и иногда:

 >>>>>>  I'm in onStartTrackingTouch
 >>>>>>  I'm in onStopTrackingTouch

все еще мой палец прижимается и onProgressChanged просто не вызывает.

...