On Oct 27, 2011, at 12:01 PM, bmellac wrote:
> I have buttons in ListViewItems, so in my Adapter.GetView(...), I have to
> wire eventhandler for the .Click methods of my buttons :
> convertView.FindViewById<Button>(Resource.Id.art_qte_minus).Click += new
> EventHandler(art_qte_minus_Click);
...
> So how can I check if there is an already attached eventhandler ?
Short answer: you don't.
Slightly longer answer: where is your convertView coming from? :-)
Normally you're using LayoutInflator.Inflate() to create a new View, so only
register the event when you create:
public override View GetView (int position, View convertView, ViewGroup
parent)
{
if (convertView == null) {
var inflator = (LayoutInflater)
Context.GetSystemService (Context.LayoutInflaterService);
convertView = inflator.Inflate (resourceId, null);
convertView.FindViewById<Button>(Resource.Id.art_qte_minus).Click +=
art_qte_minus_Click;
}
// ...
}
> By the way, I'd like to use a ViewHolder to be clean, but I can't find the
> corresponding class in c#.
I'm not sure what type you're referring to. A web search for "ViewHolder
site:android.com" finds:
http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/view/List14.html
in which ViewHolder is:
static class ViewHolder {
TextView text;
ImageView icon;
}
so this appears to be a design pattern rather than a concrete type, and the C#
equivalent would be:
class ViewHolder : Java.Lang.Object {
public TextView Text {get; set;}
public ImageView Icon {get; set; }
}
- Jon
_______________________________________________
Monodroid mailing list
[email protected]
UNSUBSCRIBE INFORMATION:
http://lists.ximian.com/mailman/listinfo/monodroid