Как привязать файл автоматических настроек к пользовательским настройкам в Android

Я только что реализовал экран настроек для одного из примеров приложений, которые я создаю. Я следовал руководству, приведенному на сайте Google. Все в порядке, и я загрузил ListPreference, и я также могу сохранить его и сохранить. Здесь также есть одна небольшая проблема. Я уже определил пользовательский файл настроек для приложения, но эта автоматическая обработка экрана настроек, похоже, создает файл настроек сам по себе. На данный момент я пытался заставить этот код работать, но он не получает пользовательский файл настроек.

        final Preference customPrefs = getPreferenceScreen().findPreference(Utils.PREFS_NAME);

    customPrefs.setOnPreferenceClickListener(new OnPreferenceClickListener() {

        public boolean onPreferenceClick(Preference preference) {
            customPrefs.getEditor().commit();
            return true;
        }
    });

Есть ли способ связать файл пользовательских настроек с этим классом автоматических настроек?


person vikramjb    schedule 17.04.2012    source источник
comment
Расскажите нам, как (код) вы реализуете и привязываете файл пользовательских настроек. Кроме того, почему бы вам просто не использовать реализацию по умолчанию? Если вам не нужны разные файлы, вам не нужно с этим справляться. Это просто еще один источник опечаток и проблем...   -  person davidcesarino    schedule 17.04.2012
comment
Вот как я получаю экземпляр пользовательского файла настроек Utils.setSpPreferences(getSharedPreferences(Utils.PREFS_NAME, 0));. Я хочу использовать файл настроек по умолчанию. Но я тестировал свое приложение на нескольких устройствах с файлом пользовательских настроек. Я не хочу менять это сейчас.   -  person vikramjb    schedule 20.04.2012
comment
Я закончил замену пользовательских настроек настройками по умолчанию, как вы предложили. Сэкономил много времени. Надо было сделать это раньше. Спасибо еще раз. Я проголосовал за вас, но если вы можете опубликовать это как ответ, я приму это как ответ.   -  person vikramjb    schedule 21.04.2012


Ответы (1)


Вы можете установить собственное имя для файла, используемого для хранения настроек, используемых в вашем PreferenceActivity, вызвав его метод getPreferenceManager().setSharedPreferencesName("file_name"). Просто помните, что вам нужно установить это перед вызовом addPreferencesFromResource, в противном случае ваш пользовательский интерфейс все равно изменит материал обратно на неправильный файл (файл по умолчанию).

Как я уже сказал, вам необходимо это делать, так как вы можете использовать файл по умолчанию, предоставленный системой. Если/когда вам нужно прочитать настройки в другом месте, вы можете просто вызвать PreferenceManager.getDefaultSharedPreferences(Context context).

Я уже обращался к этим замечаниям в другом вопросе.

Также помните, что некоторые из методов устарели. Если вы пишете новый код, старайтесь избегать их и следуйте новому «фрагментарному способу» ведения дел.

person davidcesarino    schedule 26.04.2012
comment
Спасибо, Дэвид. В итоге я использовал файл настроек по умолчанию. - person vikramjb; 27.04.2012