/ / OnListItemClick (...) jest oznaczony jako przesłonięcie, ale nie można zastosować odpowiedniej metody - c #, android, listview, xamarin.android

OnListItemClick (...) jest oznaczony jako przesłonięcie, ale nie można zastosować odpowiedniej metody - c #, android, listview, xamarin.android

Utworzono ListView z adaptera, ale chciałbym wybrać elementy, które dają informacje o tym elemencie w nowym działaniu.

To mój kod:

        protected override void OnListItemClick(ListView listview,
View view, int pos, long id)
{
var selectedvalue = sw_items[pos];
var i = new Intent(this, typeof(Activity1));
i.PutExtra("selectedvalue", selectedvalue);
StartActivity(i);
}

Ale pojawia się ten błąd:

MainActivity.OnListItemClick(Android.Widget.ListView, Android.Views.View, int, long)" is marked as an override but no suitable method found to override (CS0115)

MainActivity to an Activity

Jak mogę rozwiązać ten problem lub czy istnieje jakikolwiek inny sposób, aby to zrobić wewnątrz Activity

Odpowiedzi:

1 dla odpowiedzi № 1

Musisz usunąć zastąpienie, a następnie gdzieś w konfiguracji musisz podłączyć swoją metodę do zdarzenia kliknięcia na liście.

Zwykle robi się to tak:

myList.OnClick += new ClickEventHandler(myMethodName);

Ale nie używałem monodroidu, więc mogą pojawić się drobne niuanse.


2 dla odpowiedzi nr 2

Jeśli chcesz przesłonić OnListItemClick w MainActivity, działalność musi być niedostępna ListActivity zamiast zwykłego starego Activity.

Upewnij się również, że Listview w twoim xml jest z identyfikatorem "@android: id / list" (lub list jeśli jest w kodzie).

Jest naprawdę fajny przewodnik, który możesz śledzić: Wypełnianie ListView danymi.


1 dla odpowiedzi nr 3

Spróbuj wykonać następujące czynności:

@Override
protected void OnListClick(ListView listview, View view, int pos, long id) {
var selectedvalue = sw_items[pos];
var i = new Intent(this, typeof(Activity1));
i.PutExtra("selectedvalue", selectedvalue);
StartActivity(i);
}