使用Glide为AppWidget加载图像
问题描述:
我正在处理我的第一个应用部件。除了一件事外,Everthing很好。我找不到,我怎么能在RemoteViewsFactroy的getViewAt()方法中使用Glide将图像加载到ImageView中。我总是得到错误,因为我必须在MainThread中运行(AppWidgetTarget),但我无法从RemoteViewsFactory调用新的Handler(Looper.getMainLooper())。使用Glide为AppWidget加载图像
答
Glide通过提供AppWidgetTarget类来支持此功能。
虽然onUpdate()
更新你的widget,创建一个新的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。这些教程涵盖了使用滑翔的许多实际方面。
类似地,NotificationTarget目标类也由滑行提供 - 它解决了同样的问题,但对于通知,而不是appWidgets。
你可以使用通用图像加载器来实现这一点。你想只使用滑动来加载图片吗? – Sangeetha