Android 在小部件中更改图像

Android 在小部件中更改图像,android,widget,imagebutton,Android,Widget,Imagebutton,我如何在我的小部件中有一个图像,然后当它被点击时会变成另一个图像?这是一个只有一个ImageButton的小部件,但我不确定接下来该去哪里,我知道所有未决的意图等等,但这在这里没有帮助,除非我遗漏了什么。。。这是我的最新资料 public void onUpdate(Context context,AppWidgetManager appWidgetManager,int[] appWidgetIds){ RemoteViews remoteViews = new RemoteViews(

我如何在我的小部件中有一个图像,然后当它被点击时会变成另一个图像?这是一个只有一个ImageButton的小部件,但我不确定接下来该去哪里,我知道所有未决的意图等等,但这在这里没有帮助,除非我遗漏了什么。。。这是我的最新资料

public void onUpdate(Context context,AppWidgetManager appWidgetManager,int[] appWidgetIds){
   RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout.widget);
   PendingIntent onPendingIntent = PendingIntent.getService(context, 0, new Intent(context, widgetService.class), 0);
   remoteViews.setOnClickPendingIntent(R.id.ImageButton01, onPendingIntent);
   appWidgetManager.updateAppWidget(appWidgetIds, remoteViews);
 }
试试这个:

public void onUpdate(Context context,AppWidgetManager appWidgetManager,int[] appWidgetIds){
   RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout.widget);
   PendingIntent onPendingIntent = PendingIntent.getService(context, 0, new Intent(context, widgetService.class), 0);

   remoteViews.setOnClickPendingIntent(R.layout.widget2, onPendingIntent);
                                      **add widgetON.xml*
为“widgetON”图像提供单独的.xml布局。(Widget2) 然后,您将不得不使用RemoteView来区分开/关视图


我想我想这就是你要找的

 /* get the handle on your widget*/
 RemoteViews views = new RemoteViews(getPackageName(), R.layout.your_widget_layout);
 /* replace the image */
 views.setBitmap(R.id.id_of_your_imageview, "setImageBitmap", yourBitmap);

 /* update your widget */
 ComponentName thisWidget = new ComponentName(this, YourWidget.class);
 AppWidgetManager manager = AppWidgetManager.getInstance(this);
 manager.updateAppWidget(thisWidget, updateViews);

澄清一下,您希望在广播接收器的onReceiver中执行此操作