첫 번째 앱 위젯을 만들고 있습니다. 한 가지는 제외하고는 아무 것도 없습니다. Glide를 사용하여 RemoteViewsFactroy의 getViewAt() 메소드에서 이미지를 ImageView로로드하는 방법을 알 수 없습니다. MainThread에서 (AppWidgetTarget)을 실행해야하기 때문에 항상 오류가 발생하지만 RemoteViewsFactory에서 새로운 Handler (Looper.getMainLooper())를 호출 할 수 없습니다.이미지를 Glide for AppWidget에로드하십시오.
2
A
답변
0
글라이드는 AppWidgetTarget 클래스를 제공함으로써 이것을 지원합니다.
onUpdate()
에 위젯을 업데이트하는 동안, 당신은 그것에게 RemoteViews
객체, 이미지 뷰의 ID 및 appwidgetId을 통과, 새로운 AppWidgetTarget을 만든 다음이처럼의 이미지 뷰에 대한 거의 같은 방법으로 활강을 호출하여 앱.
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