Android SharedPreference конкретное хранилище и получение - PullRequest
0 голосов
/ 20 февраля 2011

Я создаю SharePreference используя:

sharedPreference=getSharedPreferences(SHARED_PREFE_LOCATION, 0);
preferenceEditor=mSharedPreference.edit();
preferenceEditor.commit();

И настроить экран, используя Preference From Code SDK sample.

Теперь я хочу, чтобы пользователь изменил предпочтение, используя сгенерированный код PreferenceScreen, изменения должны отражаться в файле настроек SHARED_PREFE_LOCATION (из моей переменной кода.), А не в defaultSharedPreference.

Как я могу это сделать.

EDIT

Я знаю, что могу реализовать на PreferenceChangeListener и отразить изменения в нужном файле. Но это утомительно. Есть ли прямой путь?

1 Ответ

1 голос
/ 21 февраля 2011

Вы можете использовать PreferenceManager для установки имени предпочтения. Это позволит сохранить ваши предпочтения в указанном вами месте. Я рекомендую сделать это до того, как вы добавите какие-либо предпочтения в свои действия с предпочтениями, поэтому любые значения по умолчанию не будут сохранены в папке по умолчанию:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    getPreferenceManager().setSharedPreferencesName(SHARED_PREFE_LOCATION);
    addPreferencesFromResource(R.xml.preferences);
}
...