Android:按身份查看? (来自Widget提供商)

时间:2011-09-23 12:25:19

标签: android android-layout android-widget

我只知道通过id获取视图的一种方法:

getViewById(R.drawable.imageButton)

但如果我没有活动(开发小部件应用程序),我该如何获得这个imageButton

我能够获得一个上下文。我想这足以获得视图 - 上下文只包含一个小部件不是吗?如果没有 - 那么如何获取每个小部件视图?

3 个答案:

答案 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