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 № 1Musisz 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);
}