c# - Xamarin Forms Listview selecteditem set backgroundcolor not working first time -


i have customviewrenderer, changes backgroundcolor of item in listview. if click on item color changes correct. when load listview , set programmatically itemsource , selecteditem color standard orange in android. listview.selecteditem doesnt call android renderer "oncellpropertychanged", @ first time loading.

what mistake?

loading listview:

listnew = listdg.where(g => g.check == true).tolist();         listnew = listnew.orderby(g => g.beschreibung).tolist();         listgegenstandzuordnungbinding = new bindinglist<db.gegenstaendezuordnungliste>(listnew);         lvgegenstaende.itemssource = listgegenstandzuordnungbinding;         lvgegenstaende.itemselected += lvgegenstaende_itemselected; ;          if (app.idgegenstandueb != 0)         {             list<db.gegenstaendezuordnungliste> listselected = listnew.where(g => g.idgegenstandueb == app.idgegenstandueb).tolist();             if (listselected.count > 0)             {                 lvgegenstaende.selecteditem = listselected[0];             }             else             {                 if (listnew.count > 0)                 {                     lvgegenstaende.selecteditem = listnew[0];                     app.idgegenstandueb = listnew[0].idgegenstandueb;                 }             }         }         else if (listnew.count > 0)         {             app.idgegenstandueb = listnew[0].idgegenstandueb;             lvgegenstaende.selecteditem = listnew[0];         } 

android renderer:

protected override android.views.view getcellcore(cell item, android.views.view convertview, viewgroup parent, context context)     {         var listview = parent android.widget.listview;         _selected = false;         if (listview != null)         {             //    // disable native cell selection color style - set *transparent*             listview.setselector(android.resource.color.transparent);             listview.cachecolorhint = xamarin.forms.color.transparent.toandroid();         }         var cell = base.getcellcore(item, convertview, parent, context);         return cell;     }      protected override void oncellpropertychanged(object sender, propertychangedeventargs e)     {         base.oncellpropertychanged(sender, e);          _selected = !_selected;          var extendedviewcell = sender customcontrol;         if (extendedviewcell.parent.automationid != null)         {             if (extendedviewcell.parent.automationid.tostring() == "listgegenstaende")             {                 if (_selected)                     extendedviewcell.view.backgroundcolor = color.fromhex("4682b4");                 else                     extendedviewcell.view.backgroundcolor = color.fromhex("#5096d0");             }         }         else         {             if (_selected)                 extendedviewcell.view.backgroundcolor = color.black;             else                 extendedviewcell.view.backgroundcolor = color.transparent;         }     } 


Comments

Popular posts from this blog

python - Selenium remoteWebDriver (& SauceLabs) Firefox moseMoveTo action exception -

html - How to custom Bootstrap grid height? -

transpose - Maple isnt executing function but prints function term -