Type cast von Java.Lang.Objekt native CLR-Typ in MonoDroid
Wie cast von Java.Lang.Objekt auf eine native Art?
Beispiel:
ListView-adapter enthält Instanzen der native-Typ Message. Wenn ich versuche SelectedItem von ListView-es gibt Instanz von Message-Typ gecastet zu Java.Lang.Objekt, aber ich kann nicht finden, die Lösung zu werfen Java.Lang.Objekt zurück zur Botschaft.
var message = (Message)list.SelectedItem;
//throws Error 5 Cannot convert type 'Java.Lang.Object' to 'Message'
Bitte Helfen.
InformationsquelleAutor der Frage mironych | 2011-07-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nach langem debugging, habe die Lösung gefunden:
Beispiel:
Vorsichtig nach sdk-Studie gefunden haben, MonoDroid integrierte Erweiterung für diesen Zweck:
InformationsquelleAutor der Antwort mironych
Die wenigsten magischen Weg, um eine einheimische Art aus der Spinner ist zu nennen
InformationsquelleAutor der Antwort Jon Bates
Ich habe diesen code von oben beantworten, und es funktioniert gut für mich
und das ist, wie ich
Ich bin in der Lage, mein location-Objekt Geldstrafe von spinner
InformationsquelleAutor der Antwort devil_coder
Für generische Sammlungen, die richtige Antwort wäre, die Nutzung JavaList, die eine Java.Lang.- Objekt und implementiert die IList. Aber es geht mehr arbeiten, das ist klar. Dies ist eigentlich nur ein adapter für Java ArrayList-Implementierung.
InformationsquelleAutor der Antwort imgen
Können Sie immer versuchen die JavaCast<> Methode (die meisten der Ansichten implementiert)(nicht getestet):
var message = Liste.SelectedItem.JavaCast< Nachricht >();
InformationsquelleAutor der Antwort samis
Wenn aus irgendeinem Grund GetChildAtPosition ist nicht möglich, serialise das Objekt zu json-string und dann deserialise die Zeichenfolge zurück zu nativen Klasse.
InformationsquelleAutor der Antwort Kalpesh Popat
Alle der oben genannten Antworten sind korrekt, aber ich fand die einfachste Möglichkeit für meinen Fall war das Objekt einer Unterklasse von Java.Lang.Objekt.
Zum Beispiel ich Schreibe eine Android-app in Monotouch, imitiert das Konzept einer UITableView in iOS mit der ExpandableListAdapter, erfordert das äquivalent von UITableViewCells, so dass ich Unterklassen-cell-Objekte aus Java.Lang.Objekt erlauben Sie mir, zu implementieren, die eine Unterklasse von ExpandableListAdapter wie
Etc.
InformationsquelleAutor der Antwort David van Dugteren
ist es Arbeit für mich:
test:
InformationsquelleAutor der Antwort Ali Yousefie