Kur*_*aum 4 android onupdate android-widget
因此,在我的AppWidgetProvider类中的onUpdate方法中,我最终执行了一些非常重要的代码,以便我可以完全重新创建一个新的RemoteViews对象.实际情况是,我真的只需要在每次更新时在RemoteView中的一个textview中设置文本.反正只是修改特定小部件已经使用的RemoteViews吗?
-Kurtis
Pet*_*ego 17
首先,RemoteView不是View.它是一组构建View层次结构的指令.它用于在另一个进程中重新创建View(App Widgets不会在您的应用程序的进程中执行).因此它是可序列化和可变的.
因此,当您初始化RemoteView时,只需在某处存储对它的引用,例如在自定义AppWidgetProvider的字段中.下次需要时,从现场获取并更改其中的内容.用于在TextView中更改字符串使用setString(..)
.
remoteView.setString(textViewId, "setText", "some text for TextView")
Run Code Online (Sandbox Code Playgroud)
Mar*_*asa 17
如果您使用的是当前的API,那么这是2013年的更新.在将执行更新的WidgetProvider类方法中:
AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context);
rv = new RemoteViews(context.getPackageName(), R.layout.widgetlayout);
rv.setTextViewText(R.id.ofTextViewInWidgetLayoutXML, "Hello World");
appWidgetManager.partiallyUpdateAppWidget(appWidgetIds[i], rv);
Run Code Online (Sandbox Code Playgroud)
请注意,它不再是remoteView.setString而是remoteView.setTextViewText
归档时间: |
|
查看次数: |
12167 次 |
最近记录: |