0

私はアンドロイドのためのライブ壁紙を行う方法を学ぼうとしています。私はそれを機能させました、そして今私はいくつかの好みを追加したいと思います。そこで、私は好みのアクティビティを作成し、見つけたすべての例に従いました。

ListBoxPreferencesを問題なくキャプチャできますが、チェックボックスが変更されたときに「onSharedPreferenceChanged」メソッドが呼び出されることはありません。

チェックボックスの変更をキャプチャするために追加する必要のある追加のコードはありますか?環境設定でチェックボックスを実行するためのベストプラクティスの方法はありますか?

私はこの問題に2日間頭を悩ませてきました、どんな助けでも大歓迎です!

ありがとう!

4

2 に答える 2

0

onSharedPreferenceChangedコールバックを受信するために登録しましたか?

これをメインアクティビティのonCreateメソッドに追加します(そして、必ずonSharedPreferenceChangedを実装してください)。

PreferenceManager.getDefaultSharedPreferences(getBaseContext()).registerOnSharedPreferenceChangeListener(this);
于 2010-11-23T21:00:54.330 に答える
0

@Josh-良い答えです。

完全を期すために追加したいのは、PreferenceActivityのonResume()メソッドで変更を登録し、onPause()メソッドで登録を解除するように設定する必要があるということです。

この質問への答えは、ストックのAndroidサンプルプログラムから取られたコードの良いサンプルです。

または、アクティビティのonCreate()で各設定のリスナーを登録し、それらのイベントを個別に処理することもできます。

于 2010-11-23T21:12:55.187 に答える