Android NumberPicker, как найти сумму изменилась?

1

Я хотел бы отобразить величину, которую изменил номер выбора, начиная с того момента, когда пользователь начинает прокручивать до конечного значения. Я нашел OnValueChangeListener, но проблема в том, что это вызвано для каждого пронумерованного числа, в то время как мне хотелось бы, чтобы общее изменение стоимости. Я посмотрел на OnScrollListener, но это, похоже, не так, как хотелось бы.

Происходит ли событие, когда пользователь начинает прокрутку? А также событие, когда числовая машина перестает вращаться?

Похоже, это должно быть очень легко достичь, но я борюсь. Например, NumberPicker начинается с начального значения 20 пользовательских прокруток до 11, поэтому количество изменений равно 9.

Теги:
android-widget
android-ui

1 ответ

1
Лучший ответ

Ответ на самом деле довольно простой... просто сохраните начальные и конечные значения и возьмите разницу между ними.

  1. Перед тем, как раздуть/создать экземпляр NumberPicker, обратите внимание на его начальное начальное значение. Например, создайте приватную переменную private int mInitialValue. Затем, когда вы дадите своему NumberPicker начальное значение 20,

    mInitialValue = 20;
    
  2. Когда пользователь выходит из этой активности (или когда вы определяете, что установлено "окончательное" значение), сохраните его значение (т. mFinalValue). Затем используйте разницу с mFinalValue - mInitialValue.

  • 0
    Спасибо, что сработает в этом случае, я должен был быть более конкретным с моим вопросом. NumberPicker будет постоянно виден без нажатия кнопки «ОК» или чего-либо, что можно нажать, чтобы установить окончательное значение. ScrollListener очень близок к тому, что я хотел бы, я могу установить initialValue, когда состояние == 1, но, к сожалению, состояние = 0 возникает, когда вы отпускаете касание, так что числа могут щелкать по импульсу, оставляя окончательное значение немного вне.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню