void UpdateListView(BaseNode node) { if (node == null) { return; } ListView listView = monitorAct.FindViewById <ListView>(Resource.Id.listView1); if (listView.Adapter == null) { listView.ItemClick += ListView_ItemClick; var items = new List <AttributeTypes>(); foreach (var attr in Attributes.ValidAttributes) { if (!node.IsAttributeUsed(attr)) { continue; } items.Add(attr); } listView.Adapter = new AttributeListItemAdapter(monitorAct, items, node); } AttributeListItemAdapter listAdapter = listView.Adapter as AttributeListItemAdapter; if (listAdapter != null) { listAdapter.NotifyDataSetChanged(); } }
private void ListView_ItemClick(object sender, AdapterView.ItemClickEventArgs e) { var listView = sender as ListView; if (listView == null) { return; } // Select the clicked attribute. AttributeListItemAdapter listAdapter = listView.Adapter as AttributeListItemAdapter; if (listAdapter != null) { AttributeTypes attr = listAdapter.GetItem(e.Position); showDialog(monitorAct.currentNode, attr); } }