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