2012-02-26 7 views
0

私はこれを2日間作業しようとしていますが、私はそれを修正する方法は全く考えていません。SeekBarPreferencesは変化していますが、視覚的には変わりません。

本質的には、(BroadcastReceiverを介して)ListViewの変更をリッスンし、editor.putInt( "SeekBarPreference"、value).commit();によっていくつかのSeekBarPreferencesを更新するサービスを持っています。今はすべてが正常に動作し、正しい値を返しますが、seekbarpreferencesを視覚的に変更することはありません。サービスを再開すると(戻るを押して関連するオプションをクリックすると)、正しい位置に変更されます。あるいは、デバイスを回転させても、彼らは変化します。 私の質問は、好みの「見た目」を手動で「リフレッシュ」する方法はありますか?

ありがとうございます!

(私はここに同様の質問がある知っているが、それらのどれもが本当に解決策を持っていない)

答えて

0

私は時々戻ってくることは、活動を再開することです。現在のアクティビティのインテントを作成して起動します。 2行のコード。あなたの問題のためのその実用的な解決策が、私のために様々な状況で働いたかどうかわからない。すべて

Itを更新するために、次に再送信放送再び

addPreferencesFromResource(...etc. 

をXMLをロード好み

PreferenceScreen prefScreen = getPreferenceScreen(); 
     prefScreen.removeAll(); 

をクリアすることでponSharedPreferenceChangedリスナーに更新seekbarsを得ることができた

+0

私は実際これをやろうとしていますが、それは設定画面のサービスです。私はサービスをうまく止めることができますが、私はどのように設定画面を再起動するのか分かりません。 – user1233752

+0

ありがとう、私は今働いている! – user1233752

0

あなたは、そのビューにinvalidate()またはrequestlayout()を試してみたのですか?

+0

問題はレイアウトにないことです。すべてのスライダーとすべてが環境設定メニューにあります。 – user1233752

+0

あなたは関連するビューを得るためにgetview()を使うことができます – Royi

0

作品は非常にエレガントではありません。誰も助けてくれてありがとう!

関連する問題