Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何将具有MvxImageView的图像显示为MvxListView_Android_Xamarin_Mvvmcross - Fatal编程技术网

Android 如何将具有MvxImageView的图像显示为MvxListView

Android 如何将具有MvxImageView的图像显示为MvxListView,android,xamarin,mvvmcross,Android,Xamarin,Mvvmcross,我在Xamarin.Android应用程序中有一个MvxListView,还有一个ItemTemplate,用于显示从WS检索的名称和图片。如果显示了名称,则不是图片的情况 View_Main.axml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:local="http://sch

我在Xamarin.Android应用程序中有一个MvxListView,还有一个ItemTemplate,用于显示从WS检索的名称和图片。如果显示了名称,则不是图片的情况

View_Main.axml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:local="http://schemas.android.com/apk/res-auto"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#00007f"
    android:textColor="#ffffff"
    android:textSize="24dp"
    android:layout_margin="30dp"
    android:padding="20dp"
    android:layout_marginTop="10dp">
    <Mvx.MvxListView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        local:MvxBind="ItemsSource ItemsModels"
        local:MvxItemTemplate="@layout/item_list" />
</LinearLayout>
以及图像属性的典型值:

问题不在于URL,我尝试了在谷歌图片上找到的URL,但它也不起作用

第二次编辑

public class MainViewModel : MvxViewModel
{
    private readonly IDataProviderService _dataProviderService;

    #region Fields

    private ObservableCollection<ItemModel> _itemsModels;

    #endregion

    #region Properties

    public ObservableCollection<ItemModel> ItemsModels
    {
        get { return _itemsModels; }
        set
        {
            _itemsModels = value;
            RaisePropertyChanged(() => ItemsModels);
        }
    }

    #endregion

    #region Constructors

    public MainViewModel(IDataProviderService dataProviderService)
    {
        _dataProviderService = dataProviderService;
    }

    #endregion

    public override void Start()
    {
        TimeWatcher.BeforeExecution();
        Task.Run(() => LoadData()); // A voir car ça lance un autre "faux thread", mais ça bloque pas l'UI
        base.Start();
        TimeWatcher.ExecutionEnd();
    }

    private async void LoadData()
    {
        ItemsModels = await _dataProviderService.GetItemsAsync("http://dev.tapptic.com/", "test/json.php");

        // Just to see if URLs are good
        foreach(var itemsModel in ItemsModels)
            Debug.WriteLine(itemsModel.Image);
    }
}
public类主视图模型:MvxViewModel
{
专用只读IDataProviderService_dataProviderService;
#区域字段
私人可观察收集项目模型;
#端区
#区域属性
公共可观察收集项目模型
{
获取{return\u itemsModels;}
设置
{
_itemsModels=值;
RaisePropertyChanged(()=>ItemsModels);
}
}
#端区
#区域构造函数
公共主视图模型(IDataProviderService dataProviderService)
{
_dataProviderService=dataProviderService;
}
#端区
公共覆盖无效开始()
{
TimeWatcher.BeforeExecution();
Task.Run(()=>LoadData());//一个voir carçA lance un autre“faux thread”,maisçA bloque pas l'UI
base.Start();
TimeWatcher.ExecutionEnd();
}
私有异步void LoadData()
{
ItemsModels=await_dataProviderService.GetItemsAsync(“http://dev.tapptic.com/“,“test/json.php”);
//只是想看看URL是否好
foreach(ItemsModels中的var itemsModel)
Debug.WriteLine(itemsModel.Image);
}
}

能否向我们展示您的Item ViewModel和图像属性值的一个示例?图像属性是在绑定前设置的还是在数据绑定后更改的?如果在绑定后更改它,则需要实现
INoftifyPropertyChanged
并调用委托。你有没有看一下调试otuput?MvvmCross通常在出现问题时写入跟踪消息。我不知道是在数据绑定之前还是之后。。。(我对这个libs非常熟悉…)但是可以肯定的是,我现在实现了INotifyPropertyChanged,并且没有任何变化。在哪个项目中安装了下载插件?你必须在你的android项目中安装它。如果这不是问题:您是否可以发布包含
ItemsModels
的主视图模型并创建项目!?是的,我安装在Android项目中。我在“第二次编辑”中添加了我的MainViewModel类
public class ItemModel
{
    public string Name { get; set; }
    public string Image { get; set; }
    public string Text { get; set; }
    public bool IsFavorite { get; set; }
}
public class MainViewModel : MvxViewModel
{
    private readonly IDataProviderService _dataProviderService;

    #region Fields

    private ObservableCollection<ItemModel> _itemsModels;

    #endregion

    #region Properties

    public ObservableCollection<ItemModel> ItemsModels
    {
        get { return _itemsModels; }
        set
        {
            _itemsModels = value;
            RaisePropertyChanged(() => ItemsModels);
        }
    }

    #endregion

    #region Constructors

    public MainViewModel(IDataProviderService dataProviderService)
    {
        _dataProviderService = dataProviderService;
    }

    #endregion

    public override void Start()
    {
        TimeWatcher.BeforeExecution();
        Task.Run(() => LoadData()); // A voir car ça lance un autre "faux thread", mais ça bloque pas l'UI
        base.Start();
        TimeWatcher.ExecutionEnd();
    }

    private async void LoadData()
    {
        ItemsModels = await _dataProviderService.GetItemsAsync("http://dev.tapptic.com/", "test/json.php");

        // Just to see if URLs are good
        foreach(var itemsModel in ItemsModels)
            Debug.WriteLine(itemsModel.Image);
    }
}