Create a Layout Item for ListView in Xamarin Android -


i have problem , it's 10 days working , can't solve it.i made layout each row listview.this layout contains linearlayout there textview , webview inside it.now need c# project can add new row listview new text , url whenever want.for example: button.click { listview.add(resource.layout.items, "text","url")}..i know command wrong. wanted clear problem you. khnow it's custom row layout , read manny examples @ site other sites , xamarin site that,adapters,... can't it. :( please answer me correctly. important me. lot.

you need create adapter can work custom objects items. following sample:

public class myadapter : baseadapter<myitem> {     readonly layoutinflater inflater;     list<myitem> myitemlist;      public myadapter(context context)     {         inflater = layoutinflater.fromcontext(context);         myitemlist = your_datasource.getmyitems();     }      public override myitem [int index]     {         { return myitemlist[index]; }     }      public override int count     {         { return myitemlist.count; }     }      public override long getitemid(int position)     {         return position;     }      public override view getview(int position, view convertview, viewgroup parent)     {         view view = convertview ?? inflater.inflate(resource.layout.myitemlayout, parent, false);          var item = myitemlist[position];         var viewholder = view.tag myviewholder;          if (viewholder == null)         {             viewholder = new myviewholder();             viewholder.web = view.findviewbyid<webview>(resource.id.myitemlayout_icon);             viewholder.name = view.findviewbyid<textview>(resource.id.myitemlayout_title);              view.tag = viewholder;         }          viewholder.web.url = item.url; //you need check how have set url webview         viewholder.name.text = item.text;          return view;     }      public override void notifydatasetchanged()     {         myitemlist = your_datasource.getmyitems();          base.notifydatasetchanged();     } }  class myviewholder : java.lang.object {     public webview web { get; set; }      public textview name { get; set; } } 

you apply adapter listview listview.adapter = new myadapter(activity);. each time change item in button click event, tricker (listview.adapter myadapter).notifydatasetchanged(); force adapter reload , refresh data.

your_datasource represents point in code store informations url or text of items. typically database or similar. while getmyitems() method example query database.

hope clears things up.


Comments