2016-04-02 5 views
0

ich ein bestimmtes Element abgerufen werden soll (dh Überschrift und Unterpos. Artikel) auf Klick auf bestimmte Zeile aus object.i diesem CodeWie bestimmte Elemente erhalten von bestimmtem Objekt der Listenansicht in Xamarin Onclick C#

verwendet hat

var selectedTableItem = e.Parent.GetItemAtPosition (e.Position);

unten ist code.Here i ganze Objekt bin immer aber, wie Elemente im Objekt zu bekommen? Jede mögliche Hilfe

 List<TableItem> tableItems = new List<TableItem>(); 
     ListView listView; 

     protected override void OnCreate(Bundle bundle) 
     { 
      base.OnCreate(bundle); 

      SetContentView(Resource.Layout.HomeScreen); 
      listView = FindViewById<ListView>(Resource.Id.List); 
      EditText _filterText = FindViewById<EditText>(Resource.Id.editInp); 
      tableItems.Add(new TableItem() { Heading = "Vegetables", SubHeading = "65 items" }); 
      tableItems.Add(new TableItem() { Heading = "Fruits", SubHeading = "17 items" }); 


      _filterText.TextChanged += (object sender, Android.Text.TextChangedEventArgs e) => { 
       // filter on text changed 
       var searchTerm = _filterText.Text; 
       var updatedTableItems = tableItems.Where(
        // TODO Fill in your search, for example: 
        tableItem => tableItem.Heading.ToLower().Contains(searchTerm.ToLower()) || 
           tableItem.SubHeading.ToLower().Contains(searchTerm.ToLower()) 
       ).ToList(); 
       var filteredResultsAdapter = new HomeScreenAdapter(this, updatedTableItems); 
       listView.Adapter = filteredResultsAdapter; 
      }; 
      listView.Adapter = new HomeScreenAdapter(this, tableItems); 

      listView.ItemClick += OnListItemClick; 
     } 

     protected void OnListItemClick(object sender, Android.Widget.AdapterView.ItemClickEventArgs e) 
     { 
      var selectedTableItem = e.Parent.GetItemAtPosition(e.Position); 
      } 
    } 
} 



public class TableItem 
    { 

     public string Heading { get; set; } 
     public string SubHeading { get; set; } 

    } 

Antwort

0

versuchen, diese

void OnListItemClick(object sender, AdapterView.ItemClickEventArgs e) 
{ 
var listView = sender as ListView; 
var t = tableItems[e.Position]; 
Android.Widget.Toast.MakeText(this, t.Heading, Android.Widget.ToastLength.Short).Show(); 
} 

//Make a toast with the item name just to show it was clicked 
+0

es Fehler zeigt, sagt Bildschirm zu Hause zu schätzen wissen enthält nicht filteredResultsAdapter, was ist der Grund .i hat es sogar als globale Variable gemacht, aber nichts funktioniert. Sie können mir bitte vollen Code zeigen – dafodil

Verwandte Themen