Я пытался заставить ImageCell показывать изображение в очень простом ListView в течение некоторого времени, используя библиотеку Shared. Проблема появляется ТОЛЬКО на Android, версия для iOS работает так, как задумано.
PS: У меня тоже проблемы с загрузкой изображений из интернета, опять же только для Android. Я уверен, что проблема та же. Я уже добавил Интернет-разрешение в манифест и попробовал все различные варианты реализации HttpClientImplementation и SSL / TLS.
Мой XAML выглядит следующим образом:
<?xml version="1.0" encoding="UTF-8"?>
<ContentPage
xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="TestXamarin.GreetPage">
<ListView x:Name="listView">
<ListView.ItemTemplate>
<DataTemplate>
<ImageCell Text="{Binding Name}" Detail="{Binding Status}" ImageSource="{Binding ImageUrl}" />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</ContentPage>
Код класса выглядит следующим образом:
public partial class GreetPage : ContentPage
{
public GreetPage()
{
On<iOS>().SetUseSafeArea(true);
InitializeComponent();
listView.ItemsSource = new List<Contact>
{
new Contact { Name="John", ImageUrl = "http://lorempixel.com/100/100/people/1" },
new Contact { Name="Jack", ImageUrl = "http://lorempixel.com/100/100/people/2", Status="Hello guys" },
new Contact { Name="Jill", ImageUrl = "http://lorempixel.com/100/100/people/3" }
};
}
}
Класс Contact.cs такой:
public class Contact
{
public string Name { get; set; }
public string Status { get; set; }
public string ImageUrl { get; set; }
}