Как получить данные элемента ListView, по которому пользователь щелкнул, с помощью listview.GetItemAtPosition (e.Position)?

в приложении Xamarin.Android у меня есть ListView, который я ранее заполнил. В обработчике события listview_ItemClick, который корректно запускается, я хотел бы получить текст нажатых представлений элемента списка, чтобы показать некоторую информацию об этом в AlertDialog.

Мой код не работает, потому что все, что я могу получить, это Java.Lang.Object (lvItem), и я не знаю, как извлечь из него нужные мне представления.

private void lv_ItemClick(object sender, AdapterView.ItemClickEventArgs e) {

    lvItem = lv.GetItemAtPosition(e.Position);
    // lvItem is a Java.Lang.Object

    Toast.MakeText(this,  + "you clicked" + lvItem, ToastLength.Long).Show();
}

Если я запускаю его так, Тост печатает:

вы щелкнули System.Collections.Generic.Dictionary'2 [System.String, System.String]

Обратите внимание, что каждая строка ListView состоит из двух TextView, и я заполняю ListView, передаваяList<Dictionary<string,string>> в конструктор адаптера ListView.

Проще говоря:

ПОСМОТРЕТЬ СПИСОК

| textView1 | textView2 | ---> пункт 1

| textView1 | textView2 | ---> пункт 2

Если пользователь нажимает на элемент 2 ListView, мне нужно получить textView1.Text или textView2.Text элемента 2.

Я тоже думал о выполнении:

FindViewById<TextView>(resultsListView.GetItemIdAtPosition(e.Position);

но адаптер GetItemIdAtPosition возвращает long вместо int, и поэтому я не уверен, что это тот же самый тип Id.

Следующее тоже не работает (я думаю, что это то же самоеlv.GetItemAtPosition(e.position):

lv.Adapter.GetItem(e.Position);

Ответы на вопрос(6)

Ваш ответ на вопрос