3

私のアプリケーションでは、ベース アダプターでリスト ビューを使用しています。

アイテムをクリックすると、その ID が共有設定の文字列配列形式で保存されます。このように複数のアイテムIDを文字列配列形式[1,2,5,6]で保存する方法

4

3 に答える 3

10

JSONArrayJSONをそのまま使ってみることlight-weightもできます。 を作成JSONArrayして SharedPreference に String として書き込むこともできます。

書くには、

       SharedPreferences prefs = PreferenceManager
                .getDefaultSharedPreferences(this);
        JSONArray jsonArray = new JSONArray();
        jsonArray.put(1);
        jsonArray.put(2);
        Editor editor = prefs.edit();
        editor.putString("key", jsonArray.toString());
        System.out.println(jsonArray.toString());
        editor.commit();

読むには、

        try {
            JSONArray jsonArray2 = new JSONArray(prefs.getString("key", "[]"));
            for (int i = 0; i < jsonArray2.length(); i++) {
                 Log.d("your JSON Array", jsonArray2.getInt(i)+"");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
于 2012-04-20T07:02:49.000 に答える
4

API 11 を使用している場合は、 を使用して可能putStringSetです。それ以外の場合は、@ hotverispicy で言及されているように文字列配列を単一の文字列に変換するか、SQLite データベースを使用することができます

于 2012-04-20T06:55:46.257 に答える
3

(カンマ)区切り文字で文字列として保存し,、フェッチ中に使用するだけですsplit()

string toPut="";

toPut += "listItem,";

あなたと commit()にtoPutを設定しますSharePreference

配列で同じものを取得するには: get prefString fromSharePreference

String[] fetchArray= prefString.split(",");
于 2012-04-20T06:54:56.117 に答える