2012-04-02 6 views
0

Ich implementiere das DataDroid-Modell der RESTful-Kommunikation und ich bin auf einen Compiler-Fehler bei der Implementierung meiner SearchCriteria gestoßen. Das Problem ist, dass, um die SearchCriteria als eine Absicht extra zu übergeben, musste ich es implementieren Parcelable implementieren. Allerdings erfordert meine Workerstart Funktion eine SearchCriteria Klasse, die zu dem Fehler führt: Required: my.classes.SearchCriteria; Found: android.os.Parcelable.Syntax zum Erstellen eines Objekts, das Parcelable implementiert von getParcellableExtra (intent_name)

Unter der Annahme, dass ich richtig Parcelable für meine SearchCriteria Klasse implementiert habe, wie kann ich schnell ein Objekt aus einem Paket erstellen (wo das Paket gefunden wird getParcelable Extra(INTENT_NAME)

Edit:? Ich weiß, ich dies schnell erreichen kann ?, indem ich meinen Konstruktor für SearchCriteria von Parcel Öffentlichkeit, aber gibt es eine andere Art und Weise Eigentlich funktioniert das nicht. - ich ein Parcel mit einer Parcelable Sache verwirrte

Antwort

0

Sie the API folgen Angenommen und such Geräte machen Parcel richtig und Ihre such wurde ordnungsgemäß aufgebaut oder aus der zugrunde liegenden Business-Schicht instanziiert, entweder aus einer Datenbank oder einem HTTP-Server oder usw.

Um es zur nächsten Aktivität von Vorsatz passieren:

SearchCriteria searchCriteria = createSearchCriteria(); 
Intent intent = new Intent(getBaseContext(), NextActivity.class); 
intent.putExtra("searchCriteria", searchCriteria); 
startActivity(intent); 

zu Abrufen der Absicht in der nächsten Aktivität:

SearchCriteria searchCriteria = getIntent().getParcelableExtra("searchCriteria"); 
myWorker.search(searchCriteria); 

In den meisten Fällen müssen wir Paket nicht direkt stören.

Verwandte Themen