2012-03-10 5 views
2

Я пытаюсь использовать предпочтения из диалога и испытываю некоторые трудности. Остальная часть моего приложения просто использует диалог getPreferences() и, похоже, не имеет никаких проблем. Однако Dialog не может вызвать getPreferences(), и по какой-то причине у меня нет доступа к базовому Activity. Но я пришел к решению, from the SDK documentation, но мне нужен один быстрый ответ.getPreferences() ссылка на имя класса, используемое getSharedPreferences()

В SDK указано, что «Это просто вызывает базовый метод getSharedPreferences(String, int), передав имя этого класса в качестве имени предпочтения». Если я могу получить имя класса активности. У меня есть доступ к контексту, который включает getApplicationInfo(). Здесь есть множество имен. Мой вопрос в том, является ли одно из имен, которое исходит от getApplicationInfo() так же, как значение, которое getPreferences() переходит в getSharedPreferences() как имя класса?

ответ

0

Даже лучше, и это теперь путь я использую их, чтобы использовать эту функцию:

final SharedPreferences prefs = android.preference.PreferenceManager.getDefaultSharedPreferences(mContext); 

Это получает правильные предпочтения, без необходимости делать ничего сложного.

1

То, что я в конечном итоге делает использовал это в качестве имени приложения по всем направлениям:

getBaseContext().getApplicationInfo().packageName 

Контекст почти везде, и это имя должно быть соразмерным для всех классов в программе.

Смежные вопросы