1

ユーザーが最終値までスクロールを開始したときから数値ピッカーの値が変化した量を表示したいと思います。OnValueChangeListener を見つけましたが、問題は、過去にスクロールされたすべての数値でこれが呼び出されることですが、値の合計変化が必要です。私は OnScrollListener を見ましたが、それも私が望むことをしていないようです。

ユーザーが最初にスクロールを開始したときに発生するイベントはありますか? 同様に、numberpicker の回転が停止したときのイベントは?

達成するのは非常に簡単なはずですが、苦労しています。たとえば、NumberPicker は初期値の 20 ユーザー スクロールから 11 までスクロールするため、変更量は 9 です。

4

1 に答える 1

1

答えは非常に簡単です...初期値と最終値を保存し、2つの差を取るだけです。

  1. をインフレート/インスタンス化する前にNumberPicker、その初期開始値に注意してください。たとえば、プライベート インスタンス変数を作成しますprivate int mInitialValue。次にNumberPicker、初期値を 20 にすると、

    mInitialValue = 20;
    
  2. ユーザーがアクティビティを終了するとき (または「最終的な」値が設定されていると判断したとき)、その値 (つまりmFinalValue) を保存します。次に で差をとりmFinalValue - mInitialValueます。

于 2012-06-22T17:36:36.700 に答える