В моем приложении для Android у меня есть пользовательская панель поиска, где в настоящее время изменение в панели поиска обрабатывается с помощью View.OnTouchListener, где я обрабатываю события, как указано ниже:
switch(motionEvent.getAction()) {
case MotionEvent.ACTION_UP:
//handle Event
break;
case MotionEvent.ACTION_DOWN:
case MotionEvent.ACTION_MOVE:
//don't handle event
break;
case MotionEvent.ACTION_CANCEL:
//handle event
}
return bool;
}
Тем не менее, в режиме доступности, когда пользователь выполняет движение вверх или вниз по панели поиска, функция обратной связи Android сообщает текущее значение панели поиска, но я не могу зафиксировать событие этого движения в методе onTouch.
Я попытался использовать SeekBar.OnSeekBarChangeListener, и здесь я получаю событие смахивания вверх / смахивания в методе "onProgressChanged", но не в методе "onStopTrackingTouch". Это создает проблему, так как я хочу обработать событие в onStopTrackingTouch в режиме отсутствия доступа.
@Override
public void onProgressChanged(SeekBar seekBar, int i, boolean b) {
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
//handle event in non- accessbility mode
}
Есть ли способ обработать действие смахивания вверх / смахивания в режиме доступности?