我只知道通过id获取视图的一种方法:
getViewById(R.drawable.imageButton)
但如果我没有活动(开发小部件应用程序),我该如何获得这个imageButton
我能够获得一个上下文。我想这足以获得视图 - 上下文只包含一个小部件不是吗?如果没有 - 那么如何获取每个小部件视图?
答案 0 :(得分:6)
对于小部件,您必须使用RemoteViews,例如
RemoteViews updateViews = new RemoteViews(this.getPackageName(), R.layout.widget);
Here您可以找到如何使用它们的教程
答案 1 :(得分:2)
内在onReceive
AppWidgetManager mgr = AppWidgetManager.getInstance(context);
int[] appWidgetIds = mgr.getAppWidgetIds(new ComponentName(context, YourWidgetProvider.class));
RemoteViews rv = new RemoteViews(context.getPackageName(),R.layout.widget_layout);
rv.setImageViewResource(R.id.yourImageView, R.drawable.yourBitmap);
mgr.updateAppWidget(appWidgetIds, rv);
答案 2 :(得分:1)
无法获得ImageView的处理方式。 但是您可以使用来自RemoteView类的setImageViewBitmap或setImageViewResource或setImageViewUri来设置ImageView的位图。 http://developer.android.com/reference/android/widget/RemoteViews.html