Я пытаюсь установить фон NumberPicker, пока пользователь выполняет прокрутку жестом касания пальцем или жестом длинного нажатия. В настоящее время я могу реагировать только на жест касания пальцем.
Следующий фрагмент кода работает, но только если пользователь выполняет жест касания пальцем (например, касаясь экрана и проводя пальцем вверх или вниз).
NumberPicker.OnScrollListener myListener = (view, scrollState) -> {
if(scrollState == NumberPicker.OnScrollListener.SCROLL_STATE_IDLE) {
//change background to eg. white
}
else {
//change background to eg. black
}
}
myPicker.setOnScrollListener(myListener);
Однако, если я долго нажимаю, например, на «3» или «20», как видно на на этом рисунке , состояние прокрутки не изменяется, даже если NumberPicker визуально прокручивается. Как я могу отреагировать на такое событие?
Я пытался установить setOnLongClickListener (см. Следующий фрагмент кода), но я даже не получаю событие LongClick.
View.OnLongClickListener myClickListener = v -> {
//change background
return true;
};
myPicker.setOnLongClickListener(myClickListener);