public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
for (int appWidgetId : appWidgetIds) {
int imageNum = (new java.util.Random().nextInt(IMAGES.length));
RemoteViews remoteView = new RemoteViews(context.getPackageName(), R.layout.main);
remoteView.setImageViewResource(R.id.image, IMAGES[imageNum]);
appWidgetManager.updateAppWidget(appWidgetId, remoteView);
}
}
我想在widget上使用touchListener,这样我就可以更改照片了。我该怎么称呼或写作呢?
答案 0 :(得分:1)
在 remoteView 上使用 setonClickPendingIntent 功能,并提供图片/按钮的ID。这样当您单击该按钮时将启动待处理的意图。
例如:
PendingIntent pintent = PendingIntent.getBroadcast(/*Input Arguments*/);
remoteView.setonClickPendingIntent(R.id.image,pintent);
现在,当我们使用 PendingIntent.getBroadcast 来创建我们的待定意图时,它会在启动时与 SendBroadcast 相同,所以我们必须实现 onReceive 现在。
现在只需将您的点击逻辑放在onReceive上。
希望它有所帮助。