Я просто хочу обновить свой виджет, когда он будет изменен в Jelly Bean.appWidgetManager.updateAppWidget не имеет эффекта
Поэтому я использую этот код:
@TargetApi(Build.VERSION_CODES.JELLY_BEAN)
@Override
public void onAppWidgetOptionsChanged(Context context,
AppWidgetManager appWidgetManager, int appWidgetId,
Bundle newOptions) {
Log.d("DEBUG_TAG", "I want to update Widget: "+appWidgetId);
appWidgetManager.updateAppWidget(appWidgetId,
getRemoteViews(context, minWidth, minHeight));
Log.d("DEBUG_TAG", "Widget "+appWidgetId+"should have been updated");
super.onAppWidgetOptionsChanged(context, appWidgetManager, appWidgetId,
newOptions);
}
К сожалению, ничего не произойдет.
My logcat clealy говорит, что виджет должен быть обновлен, как и ожидалось, но onUpdate никогда не вызывается!
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
final int N = appWidgetIds.length;
Log.i("", "***Update "+N+" Widget*** ");
for (int i = 0; i < N; i++) {
int appWidgetId = appWidgetIds[i];
Log.i("", "***Widget*** "+appWidgetId);
Но ничего не происходит.
Я проверил, что, когда я создаю мой виджет идентификатор правильно (идентификатор 29 в моем случае) 29 показан в журнале, когда onAppWidgetOptionsChanged называется 29 показан в журнале, когда виджет создан
Большое спасибо за любую помощь.
«К сожалению, ничего не происходит» - что делает 'getRemoteViews()' do? «Мой логарифмический clealy говорит, что виджет должен обновляться, как и ожидалось, но onUpdate никогда не вызывается!» - 'onUpdate()' не вызывается в ответ на событие изменения размера или вызов 'updateAppWidget()'. Вот пример проекта, показывающий обновление содержимого виджета приложения на основе события изменения размера: https://github.com/commonsguy/cw-omnibus/tree/master/AppWidget/Resize – CommonsWare
Вы просто говорите мне, что onUpdate() не является вызывается в updateAppWidget() ... Не кажется мне настолько очевидным для меня .... –
«Вы просто говорите мне, что onUpdate() не вызывается в updateAppWidget()» - почему это так? 'onUpdate()' * вызывает * 'updateAppWidget()'. Вам нравится бесконечная рекурсия? – CommonsWare