1
我开发了一个Android小部件,目的是点击文本小部件的图标被更改。要做到这一点,我设置了动作,并尝试了OnReceive方法。这是代码:
关于onReceive方法 - 小部件的更改图标Android
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(ACTION_WIDGET_NOTIF)) {
Bundle extras = intent.getExtras();
int appWidgetId = extras.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID);
RemoteViews controles = new RemoteViews(context.getPackageName(),
R.layout.widgetcuatroxuno);
controles.setImageViewResource(R.id.btt,
R.drawable.ic_launcher_new);
AppWidgetManager.getInstance(context).updateAppWidget(appWidgetId, controles);
} else {
super.onReceive(context, intent);
}
}
我知道我需要AppWidgetManager更新Widget控件,但是失败了。我如何才能实现我的目标?对不起我的英语不好。非常感谢你所做的一切。
如果有人有同样的问题,我发现了解决方案: @Override \t公共无效的onReceive(上下文范围内,意图意图){ \t \t RemoteViews控制=新RemoteViews(context.getPackageName(), \t \t \t \t R.layout.widget); \t \t如果(intent.getAction()等于(ACTION_WIDGET_CHANGE)。){ \t \t \t control.setImageViewResource(R.id.bttn, \t \t \t \t \t R.drawable.ic_launcher_new); \t \t} else { \t \t \t super.onReceive(context,intent); \t \t} \t \t ComponentName cn = new ComponentName(context,Widget.class); \t \t AppWidgetManager.getInstance(context).updateAppWidget(cn,control); \t} – 2012-01-10 11:29:46