Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在xamarin c中单击listview的特定对象时获取特定项#_C#_Android_Listview_Xamarin - Fatal编程技术网

C# 如何在xamarin c中单击listview的特定对象时获取特定项#

C# 如何在xamarin c中单击listview的特定对象时获取特定项#,c#,android,listview,xamarin,C#,Android,Listview,Xamarin,我想在单击对象中的特定行时检索特定项(即标题和副标题项) var selectedTableItem=e.Parent.GetItemAtPosition(e.Position) 下面是代码。在这里我得到整个对象,但如何得到对象中的项目?。任何帮助都是感激的 List<TableItem> tableItems = new List<TableItem>(); ListView listView; protected ov

我想在单击对象中的特定行时检索特定项(即标题和副标题项)

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

    }
List tableItems=new List();
列表视图列表视图;
创建时受保护的覆盖无效(捆绑包)
{
base.OnCreate(bundle);
SetContentView(Resource.Layout.HomeScreen);
listView=findviewbyd(Resource.Id.List);
EditText\u filterText=FindViewById(Resource.Id.editInp);
添加(新的TableItem(){Heading=“vegets”,SubHeading=“65 items”});
添加(新的TableItem(){Heading=“Fruits”,SubHeading=“17 items”});
_filterText.TextChanged+=(对象发送者,Android.Text.TextChangedEventArgs e)=>{
//更改文本的筛选器
var searchTerm=\u filterText.Text;
var updateTableItems=tableItems。其中(
//TODO填写您的搜索,例如:
tableItem=>tableItem.Heading.ToLower()包含(searchTerm.ToLower())||
tableItem.SubHeading.ToLower()包含(searchTerm.ToLower())
).ToList();
var filteredResultsAdapter=新的HomeScreenAdapter(这是更新的TableItems);
Adapter=filteredResultsAdapter;
};
Adapter=new HomeScreenAdapter(这是tableItems);
listView.ItemClick+=OnListItemClick;
}
受保护的void OnListItemClick(对象发送者,Android.Widget.AdapterView.ItemClickEventArgs e)
{
var selectedTableItem=e.Parent.GetItemAtPosition(e.Position);
}
}
}
公共类表项
{
公共字符串标题{get;set;}
公共字符串子目{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

它显示错误说主屏幕不包含filteredResultsAdapter,原因是什么。我甚至把它作为全局变量,但没有任何工作。你能给我完整的代码吗