У меня есть виджет с ListView
.И я пытаюсь загрузить изображение в элемент списка в ImageView
var uri = Uri.Parse(item.UrlPreviewImage);
var widgetTarget = new AppWidgetTarget(_context, Resource.Id.imageView_widgetListItemRss_rssIcon, itemView, _widgetId);
Xamarin.Essentials.MainThread.BeginInvokeOnMainThread(() =>
{
Glide.With(_context.ApplicationContext)
.AsBitmap()
.Load(uri)
.Into(widgetTarget);
});
, и это работает, но некоторые странные.Он удаляет с экрана другие элементы и делает фон прозрачным.
Но должен работать так (только с иконками слева):
Что я должен сделать?Спасибо
PS Код на C #, но на Kotlin или Java также будет полезен
Еще код:
public RemoteViews GetViewAt(int position)
{
var itemView = new RemoteViews(_context.PackageName, Resource.Layout.widget_list_item_rss);
var item = _list[position];
var subTitle = item.UpdateTime == null
? Strings.RssFeedItemNotUpdated
: $"{Strings.RssFeedItemUpdated} {item.UpdateTime.Value.ToShortGeneralLocaleString()}";
var countMessages = item.CountNewMessages.ToString();
itemView.SetTextViewText(Resource.Id.textView_widgetListItemRss_title, item.Name);
itemView.SetTextViewText(Resource.Id.textView_widgetListItemRss_subtitle, subTitle);
itemView.SetTextViewText(Resource.Id.textView_widgetListItemRss_rssCount, countMessages);
if (!string.IsNullOrEmpty(item.UrlPreviewImage))
{
var uri = Uri.Parse(item.UrlPreviewImage);
var widgetTarget = new AppWidgetTarget(_context, Resource.Id.imageView_widgetListItemRss_rssIcon, itemView, _widgetId);
Xamarin.Essentials.MainThread.BeginInvokeOnMainThread(() =>
{
Glide.With(_context.ApplicationContext)
.AsBitmap()
.Load(uri)
.Into(widgetTarget);
});
}
return itemView;
}