Использование нестандартных настроек в PreferenceActivity - PullRequest
12 голосов
/ 06 ноября 2011

Используя PreferenceActivity, Android автоматически сохраняет простые настройки, такие как флажки и т. Д. У меня есть пара вопросов:

1 - где сохраняются эти настройки? Это тот же файл настроек, который возвращает PreferenceManager.getDefaultSharedPreferences (Context)?

2 - есть ли способ использовать разный набор предпочтений? То есть с context.getSharedPreferences (имя строки, режим int) вы предоставляете строку для идентификации определенного набора предпочтений. Можно ли сохранить настройки из PreferenceActivity в наборе параметров, возвращаемых следующим образом?

Заранее спасибо, Barry

1 Ответ

13 голосов
/ 08 апреля 2012

Да, это возможно.

Посмотрите на это: http://idlesun.wordpress.com/2011/04/08/how-to-make-preferenceactivity-use-non-default-sharedpreferences/#comment-36

public class MyPreferencesActivity extends PreferenceActivity {
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        PreferenceManager prefMgr = getPreferenceManager();
        prefMgr.setSharedPreferencesName("my_preferences");
        prefMgr.setSharedPreferencesMode(MODE_WORLD_READABLE);

        addPreferencesFromResource(R.xml.preferences);
    }
}

addPreferencesFromResource() должны быть вызваны после setSharedPreferencesName()!

...