0

これがばかげた質問である場合は申し訳ありません。SharedPreferences の使い方を学んでいますが、少し問題があります。このコードを使用して SharedPreferences に保存しています。

public void saveInMemory(String[] saveThis){
    StringBuilder sb = new StringBuilder();
    prefs = PreferenceManager.getDefaultSharedPreferences(OIBListActivity.this);
    editor = prefs.edit();
    for (int i = 0; i < saveThis.length; i++) {
        sb.append(saveThis[i]);
        sb.append(";");
    }
    editor.putString("listaOIB", sb.toString());
    editor.commit();
}

そして、保存された値をロードするこのコード:

public String loadFromMemory(String id){
    prefs = PreferenceManager.getDefaultSharedPreferences(OIBListActivity.this);
    return prefs.getString(id, "NOPREFSAVED");
}

また、すでに外部で設定とエディターを宣言しているので、問題になることはありません。

private SharedPreferences prefs;
private SharedPreferences.Editor editor;

さて、私の問題は、このアクティビティに入り、他のアクティビティから受け取ったファイルを保存すると(それが役立つ場合はputExtraを介して)、それをロードしてすべて正常に動作することです。 次に、(他のアクティビティから) ファイルを送信せずにアクティビティを再入力し、loadFromMemory()を使用しようとしましたが、機能しません。私の理解では、初めてアクティビティに入ったときにファイルを保存し、必要なときにいつでもロードする必要があるということです。

何か助けはありますか?

4

2 に答える 2

0

に保存されたコンテンツを取得する場合はeditor.putString("listaOIB", sb.toString());、渡す ID をloadFromMemory「listaOIB」にする必要があります。そうですか?

于 2015-11-04T13:03:56.870 に答える