私の設定 Fragment では、パスワードを保護していますSwitchPreference。アプリの「編集モード」のロックを解除するために使用します。誰でもこのモードに入ることができるわけではないので、パスワードを設定しました。ただし、これにより問題が発生します。
最初に をクリックするSwitchPreferenceと、「オン」の位置に切り替わり、onSharedPreferenceChangedメソッドがトリガーされます。ただし、その人がパスワードを間違えると、それが「オフ」の位置に切り替わり、私のonSharedPreferenceChanged方法が再びトリガーされます!
したがって、問題は、SwitchPreferenceが変更されたときにリッスンしていることですが、クリックされたときにリッスンする必要があります。StackOverflow または Google で簡単に検索すると、クリックをリッスンするのではなく、onSharedPreferenceChanged. しかし、私が言ったように、これは私のニーズには合いません。
SwitchPreferenceがクリックされたときにリッスンできるようにする、ここでオーバーライドできる別の方法を知っている人はいますか?
私の目標は、スイッチが「ON」の場合はクリック音を聞き、「OFF」の場合はオンにすることです。ただし、「オフ」の場合は、パスワード ダイアログをポップアップします。パスワードが正しい場合はスイッチを「ON」に設定し、そうでない場合は「OFF」のままにします。
ありがとう