my holder class;
class ViewHolder : Java.Lang.Object
{
public TextView kod { get; set; }
public TextView unvan { get; set; }
public TextView sebep { get; set; }
public TextView tarih { get; set; }
public TextView saat { get; set; }
public CheckBox checkBox { get; set; }
}
and my Custom Adapter class constructor;
public CustomAdapterZiyaretRapor(Activity context, List<Dictionary<string, string>> list)
: base()
{
this.myactivity = context;
this.ziyaretList = list;
for (int i = 0; i < ziyaretList.Count; i++)
{
itemChecked.Add(i, false);
}
}
And GetView method;
public override View GetView(int position, View convertView, ViewGroup parent)
{
View view = convertView;
Dictionary<string, string> item = this[position];
ViewHolder holder = null;
if (view == null)
{
holder = new ViewHolder();
view = myactivity.LayoutInflater.Inflate(Resource.Layout.custom_ziyaret_raporu_listview, parent, false);
holder.kod = view.FindViewById<TextView>(Resource.Id.txt_ziy_cari_kod);
holder.unvan = view.FindViewById<TextView>(Resource.Id.txt_ziy_cari_unvan);
holder.sebep = view.FindViewById<TextView>(Resource.Id.txt_ziy_sebep);
holder.tarih = view.FindViewById<TextView>(Resource.Id.txt_ziy_tarih);
holder.saat = view.FindViewById<TextView>(Resource.Id.txt_ziy_saat);
holder.checkBox = view.FindViewById<CheckBox>(Resource.Id.chc_deneme);
holder.checkBox.SetTag(Resource.Id.chc_deneme, position);
view.Tag = holder;
holder.checkBox.CheckedChange += (object sender, CompoundButton.CheckedChangeEventArgs e) =>
{
var pos= (int) ( ((CheckBox)sender).GetTag(Resource.Id.chc_deneme));
if(e.IsChecked)
{
itemChecked[pos] = e.IsChecked;
}
};
holder.checkBox.Checked = itemChecked[position];
}
else
{
holder = view.Tag as ViewHolder;
holder.checkBox.Checked = itemChecked[position];
}
holder.kod.Text = item["mz_carikod"];
holder.unvan.Text = item["mz_carikod"];
holder.sebep.Text = item["mz_sebep"];
holder.tarih.Text = item["mz_tarih"].Split(' ')[0];
holder.saat.Text = item["mz_tarih"].Split(' ')[1];
return view;
}
My problem is; I have a Custom ListView. I want to add checkbox every row in Listview. There is no problem that. But when i checked a checkbox in listview row, some other checkboxes checked too.
Aucun commentaire:
Enregistrer un commentaire