3

非アクティビティ クラスから sharedpreferences xml ファイルに格納したデータを取得して更新しようとしていますが、android の非アクティビティ クラスから sharedPreferences に格納されているデータにアクセスする方法がわかりません。 sharedprefences にデータを保存し、Activiy クラスでこれらのデータを取得することもできます。ただし、非アクティビティ クラスからこれらのデータを取得することはできません。私のコードは以下です。ありがとう...

    mSharedPrefs = getSharedPreferences("storageforfavorite", 0);
    mPrefsEditor = mSharedPrefs.edit();

    for(int i= 0;i<names.size();i++){
        mPrefsEditor.putString(indexForFav[i],"0"); 
    }
    mPrefsEditor.commit();

    for(int i=0;i<names.size();i++){
        String keyForFav=mSharedPrefs.getString(indexForFav[i], "2");
        valueForFav.add(keyForFav);
    }
4

2 に答える 2

5

キーは Context オブジェクトにアクセスできることです。したがって、オブジェクト内で sharedPreferences を使用する場合は、クラス コンストラクターで Context オブジェクトを渡す必要があります。このようにすると、次のことができます。

SharedPreferences prefs = context.getSharedPreferences();
于 2012-07-10T08:53:27.560 に答える
1

非クラスからContextアクセスできるようにするには、 a を渡す必要があります。SharedPreferencesActivity

例:

// mContext => Context-object passed from calling Activity
SharedPreferences mSharedPrefs = mContext.getSharedPreferences("storageforfavorite", 0);
于 2012-07-10T08:53:26.790 に答える