【发布时间】:2014-03-31 21:40:10
【问题描述】:
我正在尝试动态更新 Widget 的 TextClock 的 format24Hour。
为此,我正在使用这样的 RemoteViews:
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.clockwidget);
views.setString(R.id.textclock, "setFormat24Hour", formatString24.toString());
appWidgetManager.updateAppWidget(appWidgetId, views);
然而,这会导致我的小部件显示“问题加载小部件”并且 logcat 显示
03-31 17:37:19.872: W/AppWidgetHostView(1408): updateAppWidget couldn't find any view, using error view
03-31 17:37:19.872: W/AppWidgetHostView(1408): android.widget.RemoteViews$ActionException: view: android.widget.TextClock doesn't have method: setFormat24Hour(class java.lang.String)
但是我很确定android.widget.TextClock 有一个方法setFormat24Hour(CharSequence format) 被标记为@RemotableViewMethod。
我有什么遗漏吗?为什么这不起作用?
【问题讨论】:
-
您可能需要将字符串显式转换为 CharSequence? (虽然会很奇怪,因为String是一个CharSequence,但我不知道方法匹配是如何完成的)