У меня есть приложение, которое использует 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
просто не вызывает.