0

この問題を解決できません。設定画面があり、別の画面を開くサブ設定があります。その別画面で項目の変更をキャッチできOnSharedPreferenceChangeListener、親設定画面でサマリを変更したのですが、その親設定画面に戻ってもサマリが変わっていませんでした。

ここでも同じ質問をしましたが、結論がはっきりせず、この問題を解決できませんでした。それは私にはよくある問題のようで、これには良い解決策があると思います。

この問題の解決策を知っている人はいますか?

  • 私が維持したいことが 1 つあります。
4

2 に答える 2

4

OnPreferenceClickListenerメイン画面の概要を変更する設定に追加することで、これを解決しました。

OnPreferenceClickListener viewUpdater = new OnPreferenceClickListener() {
        @Override
        public boolean onPreferenceClick(Preference preference) {
            updateView();
            return  false;
        }
    };

updateView() メソッド内で、サマリーを新しい値に設定してから、設定リストビューの invalidateViews メソッドを使用して、表示されたサマリーの更新をトリガーしています

private void updateView() {
    preference.setSummary(newSummary);
    getListView().invalidateViews();
}
于 2011-09-30T11:42:03.793 に答える
0

私のために働く@jmbouffardの答えをチェックしてください

于 2013-08-11T13:04:05.757 に答える