Есть ли способ обнаружить событие "LongClick" NumberPicker в Android? - PullRequest
0 голосов
/ 25 февраля 2020

Я пытаюсь установить фон 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);
...