Android小部件,处理按钮点击!

Android小部件,处理按钮点击!,android,xml,widget,imagebutton,Android,Xml,Widget,Imagebutton,我的小部件上有一些ImageButton,我使用自己的操作字符串处理它们,它们都不是配置。按钮在我的xml设计中没有更新周期,因为我不需要更新任何东西,所以我所有的处理都在onReceive(context,intent)方法中! 但是还是不行。。我还是不太明白我们在小部件中处理按钮点击的方式,有人能帮忙吗??即使有处理按钮的核心概念。。谢谢 将其放入AppWidgetProvider的onUpdate方法中: RemoteViews remoteViews = new RemoteViews(

我的小部件上有一些ImageButton,我使用自己的操作字符串处理它们,它们都不是配置。按钮在我的xml设计中没有更新周期,因为我不需要更新任何东西,所以我所有的处理都在onReceive(context,intent)方法中!
但是还是不行。。我还是不太明白我们在小部件中处理按钮点击的方式,有人能帮忙吗??即使有处理按钮的核心概念。。谢谢

将其放入AppWidgetProvider的
onUpdate
方法中:

RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout.widgetmain);
Intent configIntent = new Intent(context, Call1.class);
configIntent.setAction(ACTION_WIDGET_CONFIGURE);
PendingIntent configPendingIntent = PendingIntent.getActivity(context, REQUEST_CODE_ONE, configIntent, 0);
remoteViews.setOnClickPendingIntent(R.id.ImageButton01, configPendingIntent);
appWidgetManager.updateAppWidget(appWidgetIds, remoteViews);
方法之外的变量:

public static String ACTION_WIDGET_CONFIGURE = "ConfigureWidget";
private static final int REQUEST_CODE_ONE = 10;

在这段代码中,当您单击小部件的ImageButton01时,它会启动Call1.class。

我是否应该有多个类型为“RemoteView”的对象,例如每个按钮一个?是的,您可以,小部件API有3个重载方法来更新小部件的视图,方法appWidgetManager。小部件的UpdateAppWidgetId(appWidgetId,yourRemoteView)更新视图有widgetID:appWidgetId。如果需要,您可以为多个目的只使用一个RemoteView。