मैं ParcelablewriteParcelableArray का उपयोग कर Parcel में लागू करने वाली वस्तुओं की एक सरणी लिखने की कोशिश कर रहा हूं।एंड्रॉइड में पार्सल के लिए पार्सलबल्स के लेखन सरणी
वस्तुओं मैं लिखने के लिए कोशिश कर रहा हूँ (आपकी अपेक्षानुसार) के रूप में परिभाषित कर रहे हैं:
public class Arrival implements Parcelable {
/* All the right stuff in here... this class compiles and acts fine. */
}
और मैं उन्हें एक `साथ पार्सल 'में लिखने के लिए कोशिश कर रहा हूँ:
@Override
public void writeToParcel(Parcel dest, int flags) {
Arrival[] a;
/* some stuff to populate "a" */
dest.writeParcelableArray(a, 0);
}
Bound mismatch: The generic method writeParcelableArray(T[], int) of type Parcel is not applicable for the arguments (Arrival[], int). The inferred type Arrival is not a valid substitute for the bounded parameter < T extends Parcelable >
मैं पूरी तरह से इस त्रुटि संदेश समझ में नहीं आता:
जब ग्रहण इस मैं त्रुटि मिलती है संकलित करने के लिए कोशिश करता है। Parcelable
एक इंटरफ़ेस है (कक्षा नहीं) ताकि आप इसे विस्तारित न कर सकें। क्या किसी के भी पास कोई सुझाव है?
अद्यतन:
Intent i = new Intent();
i.putParcelableArrayListExtra("locations", (ArrayList<Location>) locations);
पैदावार: मैं जब Parcelable
रों के ArrayList
एक Intent
में डाल मूलतः एक ही समस्या आ रही है
The method putParcelableArrayListExtra(String, ArrayList< ? extends Parcelable >) in the type Intent is not applicable for the arguments (String, ArrayList< Location >)
ऐसा संभवत: Location
था कक्षा मैं ऊपर काम कर रहा था (जो Arrival
एस लपेटता है), लेकिन मुझे ऐसा नहीं लगता है।
जैसा कि मैंने कहा, इंटरफ़ेस का उपयोग करके अपनी सरणी घोषित करें। खुशी है कि आप इसे काम किया है। – harschware