我正在尝试捕捉列表视图中点击的项目。我在这里看到的一切都是关于Xamarin表单的,我没有使用Xamarin表单。我构建了我的列表视图并显示得很好,但我不知道如何捕捉项目点击。我的构建代码:
ListView PhoneNumberList;
PhoneNumberList = FindViewById<ListView>(Resource.Id.listViewNumbers);
ListOfPhoneNumbers = new List<string>();
if (PhoneNumberData.Tables[0].Rows.Count > 0)
{
foreach (DataRow MyDataRow in PhoneNumberData.Tables[0].Rows)
{
ListOfPhoneNumbers.Add(MyDataRow["FirstName"].ToString() + " " + MyDataRow["LastName"].ToString() + " " + MyDataRow["PhoneNumber"].ToString());
}
}
else
{
ListOfPhoneNumbers.Add("Currently there are no phone numbers available in this list
}
ArrayAdapter adapter = new ArrayAdapter(this, Android.Resource.Layout.SimpleListItemMultipleChoice, ListOfPhoneNumbers);
PhoneNumberList.Adapter = adapter;
这段代码按预期显示姓名和电话号码,但我不知道如何检测列表视图何时被单击。
PhoneNumberList.ItemSelected += (sender, args) =>
{
var Sel = PhoneNumberList.SelectedItem;
};
但它从来没有被调用过。我也试过:
PhoneNumberList.ItemSelected += delegate (object sender, AdapterView.ItemSelectedEventArgs args) { PhoneNumberList_ItemSelected(); };
也不会调用PhoneNumberList_ItemSelected。
我的列表视图XML:
<ListView
android:minWidth="25px"
android:minHeight="25px"
android:layout_width="match_parent"
android:layout_height="148.4dp"
android:id="@+id/listViewNumbers" />
我做错什么了?
1条答案
按热度按时间cfh9epnr1#
好了,在网上折腾了几个小时后,我终于找到了答案。这是相当简单的,我已经找到了答案,我只是形成了一个错误的语句,它让我在一个徒劳的追逐找到答案。我的更新代码:
完全一样,现在我添加一行代码,我只是不能得到正确的(duh):
最初我使用
PhoneNumberList.ItemClick += PhoneNumberList_ItemClick();
和它产生的错误送我去了前面提到的野鹅追逐,有去了我的生活几个小时,我永远不会回来,哈哈.所以,希望这能让某人免受我给自己带来的折磨。
更新
没花多长时间就弄明白了如何设置所单击项目的checkbok,更改为下面的
PhoneNumberList_ItemClick
代码:......这就是所有人......