0

私のAndroid用モノラルアプリでは、アクティビティのユーザー設定をアクティビティ設定に保存したいと思います。ユーザーがこの値を変更するたびにこれを行います。

ISharedPreferences prefs = GetPreferences(FileCreationMode.Append);
        ISharedPreferencesEditor editor = prefs.Edit();
        editor.PutInt(NO_PIXELS_PER_HOUR_KEY, m_noPixelsPerHour);
        editor.Commit();

ここで、NO_PIXELS_PER_HOUR_KEYは次のとおりです。

private const string NO_PIXELS_PER_HOUR_KEY = "PIXELS_PER_HOUR";

次に、この値をアクティビティのOnCreateメソッドに再度ロードする必要があります。

ISharedPreferences preferences = GetPreferences(FileCreationMode.Append); 
int tempNoPixelsPerHour = preferences.GetInt(NO_PIXELS_PER_HOUR_KEY, -1);
        if (tempNoPixelsPerHour == -1)
            m_noPixelsPerHour = (int)(m_deviceHeight * 0.25);
        else
            m_noPixelsPerHour = tempNoPixelsPerHour;

問題は、値が持続していないように見えることです!アクティビティを終了してアクティビティに戻ると、デフォルト値の-1が返されます。正しく保存されていないのか、正しくロードされていないのかわかりません。どんな助けでもいただければ幸いです!ありがとう、デイブ

4

1 に答える 1

1

私はアンドロイド用のモノについては知りませんが、アンドロイドではjavaでgetsharedpreferences()を呼び出します。ここでは、設定設定以外の任意の設定にすることができる設定のみを呼び出しています。getdefaultsharedpreferenceなどを試すことができます。

編集:わかりませんが、これを試すことができます。

ISharedPreferences _preferences = PreferenceManager.GetDefaultSharedPreferences(your_context)
于 2013-03-25T17:38:48.027 に答える