2012-04-02 7 views
0

は、例えばAndroidの設定は値と単位

(まだ値のみを取りながら)単位で優先順位を表示することも可能であることを示します彼らはそれを表示しているときListPreferenceので

ある距離単位は示しています

Distance 
value + unit 

Distance Unit 
unit 

例:

Distance 
5 km 
Distance Unit 
km 

そして、距離単位を変更:

Distance 
5 mi 
Distance Unit 
mi 

しかし、私は本当に気にすべてが5であるが、私はまだその横にユニットを示したいと思います。これは可能ですか?

ありがとうございました

+0

あなたには、いくつかのサンプルコードを提供することはできますか?どのように結果を出力しますか? –

+0

私のクラスは、PreferenceActivityを拡張し、preference.setSummary(value)を使用することを知っています。 – user1154920

+0

私はどのように結果を出力しているのか話していました。文字列として出力する場合は、2つの文字列を連結するだけです。 環境設定の保存に関する問題がある場合、共有設定はキーと値のペアで動作します。ユニットを格納する新しいキーと値のペアを作成するだけです。 –

答えて

0

確かにできます。距離とユニットのカスタムonSharedPreferenceChanged(SharedPreferences sharedPreferences、String key)を実装するだけです。

Distance-keyで好みを見つけ、setSummary(文字列サマリ)を使用してユニットを距離に追加します。ここで

いくつかの空想コード:

public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { 
    if (key.equals("distance") | key.equals("unit")) { 
     findPreference("distance").setSummary(sharedPreferences.getString("distance", "0") + sharedPreferences.getString("unit", "km")); 
    } 
} 
+0

値+単位ではなく、値だけを保存することは可能ですか? – user1154920

+0

setSummary()は何も保存しません。それは何かを表示するだけです。 ユニットを保存しない場合、追加するユニットをどのように決定したいですか? – user1014917

+0

私はユニットを保存しますが、setSummary()は値を保存せず、表示するだけです。ありがとうございました – user1154920

関連する問題