Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
dubok79
323 / 121 / 11
Регистрация: 01.11.2012
Сообщений: 586
#1

Как при обновлении виджета получить настройки и применить их - Android

03.11.2012, 16:06. Просмотров 906. Ответов 2
Метки нет (Все метки)

Доброго времени.
Создаю виджет, который отображает кол-во дней от некой начальной даты. (просто так для изучения).
При первом создании виджета на рабочем столе планируется открыть окно настроек где будет указана эта начальная дата. По кнопке Применить данные сохраняются в файл xml используя android.content.SharedPreferences.Editor;
В самом виджете в методе onUpdate хочу эти настройки считать ну и собственно получить разницу в днях и вывести их на виджет.
Проблема: не могу инициализировать объект класса SharedPreferences:
mSettings = getSharedPreferences(FILE_NAME, Context.MODE_PRIVATE);
eclipse пишет следующее: "The method getSharedPreferences(String, int) is undefined for the type WidgetActivity". Что мне написать, что для класса AppWidgetProvider этот метод стал известным.
Может я вообще все не правильно задумал и это делается как то иначе?
Спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.11.2012, 16:06     Как при обновлении виджета получить настройки и применить их
Посмотрите здесь:

Android Ошибка при создании виджета
Android Как применить собственную клавиатуру?
Как сохранить настройки в одном Activity и получить в другом? Android
Как при выборе пункта меню получить значение элемента формы? Android
Прокрутка ListView в начало при обновлении EditText Android
Android Открытие диалога при удалении виджета с рабочего стола
Как получить высоту текста при рисовании? Android
Как применить созданную тему к проекту Android
Android Сложности с сертификатом при обновлении приложения
Как сделать, чтобы при обновлении приложения в Google Play сохранялись пользовательские настройки и данные Android
Определение и назначение положения скролла при обновлении ListView Android
При изменении настройки в приложении выскакивает ошибка Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
03.11.2012, 17:06     Как при обновлении виджета получить настройки и применить их #2
сам виджеты никогда не делал, но вот что нагуглил

getSharedPreferences(), should you choose to use it, is only available on subclasses of Context, like Activity or Service. AppWidgetProvider is a subclass of BroadcastReceiver, which is not a Context.

That being said, if you are going to use the PreferenceScreen system, or if you are not certain that it's gotta gotta gotta be getSharedPreferences(), I would use PreferenceManager.getDefaultSharedPreferences() instead. Those are the SharedPreferences that PreferenceScreen/PreferenceActivity will use.
здесь советуют использовать статический метод PreferenceManager.getDefaultSharedPreferences()

Добавлено через 1 минуту
еще такое


You should have been passed a context in widget's onUpdate() method so you can call context.getSharedPreferences().
в AppWidgetProvider есть методы, например onUpdate, получающие context, вот к нему вызывать context.getSharedPreferences()
dubok79
323 / 121 / 11
Регистрация: 01.11.2012
Сообщений: 586
03.11.2012, 20:39  [ТС]     Как при обновлении виджета получить настройки и применить их #3
Воспользовался последней подсказкой. Все получилось. Спасибо.
Yandex
Объявления
03.11.2012, 20:39     Как при обновлении виджета получить настройки и применить их
Ответ Создать тему
Опции темы

Текущее время: 13:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru