簡體   English   中英

如何從Xamarin C#中的ListView的特定對象onclick獲取特定項目

[英]How to get particular items from particular object onclick of listview in xamarin c#

我想從object.i的特定行上單擊以檢索特定項目(即標題和子標題項目)。

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

下面是代碼。這里我正在獲取整個對象,但如何獲取對象中的物品?。

        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; }

    }

嘗試這個

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM