2016-05-27 14 views
0

私のアプリケーションで作業しているときに、共有環境設定で複数の値(配列など)を保存する唯一の方法は、セットを使用することです。問題は、セット全体が私には新しかったので、私はそれから値を取得する方法と動的なテキストビューに値を配置する方法を本当に知りません。誰かが私に値を取得する正しい方法を示すことができたらうれしいです。SharedPreferences文字列セットから値を取得する

+0

JSONを使用して、ほとんどのオブジェクトを文字列にシリアライズすることができます。次に、セットの代わりに文字列を格納できます。それから、後でオブジェクトを逆シリアル化してオブジェクトを返すことができます –

答えて

0

あなたがここにあなたの答えを見つけることができます。 Follow the link

APIレベル11から、あなたが 店/検索文字列セットにputStringSetとgetStringSetを使用することができます。

SharedPreferences pref = context.getSharedPreferences(TAG, Context.MODE_PRIVATE); 
SharedPreferences.Editor editor = pref.edit(); 
editor.putStringSet(SOME_KEY, someStringSet); 
editor.commit(); 

SharedPreferences pref = context.getSharedPreferences(TAG, Context.MODE_PRIVATE); 
Set<String> someStringSet = pref.getStringSet(SOME_KEY); 

セットインタフェースは以下のような方法を有する。

add():コレクションにオブジェクトを追加できるもの。
clear(): コレクションからすべてのオブジェクトを削除します。
size(): コレクションの要素のサイズを返します。
isEmpty():コレクションに 要素がある場合はtrueを返します。
iterator(): コレクションから要素を取得するために使用されるイテレータオブジェクトを返します。
contains(): 要素が指定されたコレクションからのものである場合はtrueを返します。

java set interfaceの例。

Set s=new TreeSet(); 
     s.add(10); 
     s.add(30); 
     s.add(98); 
     s.add(80); 
     s.add(10); //duplicate value 
     s.add(99); 
     Iterator it=s.iterator(); 
     while(it.hasNext()) 
     { 
      System.out.println(it.next()); 
     } 
+0

「SOME_KEY」と言ったらどういう意味ですか?セット内の位置は? –

+0

ああ、私はそれが決して気にしないでください –

+0

私はすでにセット自体を取得する方法を知っているが、私が知らないことは、セット内の値を取得する方法です。 –

関連する問題