我正在处理我的第一个应用小部件。 除了一件事外,一切都很好。我无法找到,如何使用Glide在RemoteViewsFactroy的getViewAt()方法中将图像加载到ImageView中。我总是得到错误,因为我在MainThread上遇到了(AppWidgetTarget),但是我无法从RemoteViewsFactory调用新的Handler(Looper.getMainLooper())。
答案 0 :(得分:1)
Glide通过提供AppWidgetTarget类来支持这一点。
在onUpdate()
中更新窗口小部件时,您创建一个新的AppWidgetTarget,将RemoteViews
对象,图像视图的ID和appwidgetId传递给它,然后调用滑动的方式几乎与您可以在应用中使用imageview。
appWidgetTarget = new AppWidgetTarget( context, rv, R.id.custom_view_image, appWidgetIds );
Glide
.with( context.getApplicationContext() ) // safer!
.load( GlideExampleActivity.eatFoodyImages[3] )
.asBitmap()
.into( appWidgetTarget );
上面的示例代码来自此wonderful set of glide tutorials。这些教程涵盖了使用滑行的许多实际方面。
同样,glide也提供了NotificationTarget目标类 - 它解决了同样的问题,但是对于通知而不是appWidgets。