Xamarin.android 更改listview中的图像

Xamarin.android 更改listview中的图像,xamarin.android,Xamarin.android,我在修改代码以使其在monodroid 4.2.3下构建之后使用了教程代码,我对其进行了扩展,使list类如下所示 // ViewGroup parent = listView; void listView_ItemClick(object sender, Android.Widget.AdapterView.ItemClickEventArgs e, ViewGroup parent) { var item = this.listAdapter.GetItem

我在修改代码以使其在monodroid 4.2.3下构建之后使用了教程代码,我对其进行了扩展,使list类如下所示

// ViewGroup parent = listView;

    void listView_ItemClick(object sender, Android.Widget.AdapterView.ItemClickEventArgs e, ViewGroup parent)
    {
        var item = this.listAdapter.GetItemAtPosition(e.Position);
        var view = (e.View ?? this.LayoutInflater.Inflate(Resource.Layout.customlistitem, parent, false)) as LinearLayout;
        ImageView iv = FindViewById<ImageView>(Resource.Id.imageChecked);
        if (item.Checked == false)
        {
            item.Checked = true;
            item.ImageCheck = Resource.Drawable.@checked;
        }
        else
        {
            item.Checked = false;
            item.ImageCheck = Resource.Drawable.checkbox;
        }
        iv.SetImageResource(item.ImageCheck);
    }
公营动物 { 公共字符串名 { 得到; 设置 }

    public string Description
    {
        get;
        set;
    }

    public int Image
    {
        get;
        set;
    }

    public int ImageCheck
    { get; set; }

    public bool Checked
    { get; set; }
}
ItemClick事件代码如下所示

// ViewGroup parent = listView;

    void listView_ItemClick(object sender, Android.Widget.AdapterView.ItemClickEventArgs e, ViewGroup parent)
    {
        var item = this.listAdapter.GetItemAtPosition(e.Position);
        var view = (e.View ?? this.LayoutInflater.Inflate(Resource.Layout.customlistitem, parent, false)) as LinearLayout;
        ImageView iv = FindViewById<ImageView>(Resource.Id.imageChecked);
        if (item.Checked == false)
        {
            item.Checked = true;
            item.ImageCheck = Resource.Drawable.@checked;
        }
        else
        {
            item.Checked = false;
            item.ImageCheck = Resource.Drawable.checkbox;
        }
        iv.SetImageResource(item.ImageCheck);
    }
emulator输出将显示单击的动物的名称,ImageView始终位于列表的顶部

有没有办法将勾号放在正确的位置(例如,如果我点击第5个项目,第5个图像视图会显示一个勾号或只是一个方框)

谢谢

最简单的方法

ImageView iv = e.View.FindViewById<ImageView>(Resource.Id.imageChecked);
ImageView iv=e.View.findviewbyd(Resource.Id.imageChecked);
工作完成了