私はhttp://redth.info/2010/10/12/monodroid-custom-listadapter-for-your-listviewのチュートリアル コードを使用しており、モノドロイド 4.2.3 でビルドされるようにコードを変更した後、リストクラスが次のようになるように拡張しました
public class Animal { public string Name { get; 設定; }
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);
}
これは、私が追加する限りでは機能しますが、
Console.WriteLine("Animal clicked = {0}", item.Name);
エミュレーターの出力には、クリックされた動物の名前が表示されます。ImageView は常にリストの一番上にあります。
目盛りを正しい場所に配置する方法はありますか (たとえば、5 番目の項目をクリックすると、5 番目の ImageView に目盛りまたは単なるボックスが表示されます)。
ありがとう