मैंने कुछ विषयों की खोज की है लेकिन मेरी समस्या का समाधान नहीं मिला है।पास ArrayList <? पार्ससेलबल को लागू करता है> गतिविधि
public class Series implements Parcelable {
private String name;
private int numOfSeason;
private int numOfEpisode;
/** Constructors and Getters/Setters have been removed to make reading easier **/
public Series(Parcel in) {
String[] data = new String[3];
in.readStringArray(data);
this.name = data[0];
this.numOfSeason = Integer.parseInt(data[1]);
this.numOfEpisode = Integer.parseInt(data[2]);
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeStringArray(new String[] { this.name,
String.valueOf(this.numOfSeason),
String.valueOf(this.numOfEpisode) });
}
private void readFromParcel(Parcel in) {
name = in.readString();
numOfSeason = in.readInt();
numOfEpisode = in.readInt();
}
public static final Parcelable.Creator CREATOR = new Parcelable.Creator() {
@Override
public Series createFromParcel(Parcel in) {
return new Series(in);
}
@Override
public Series[] newArray(int size) {
return new Series[size];
}
};
}
मेरी MainActivity में मैं एक ArrayList है। सूची को गतिशील रूप से संपादित करने योग्य बनाने के लिए मुझे इसे दूसरी गतिविधि में पास करने की आवश्यकता है जहां मैं इसे संपादित कर सकता हूं।
ArrayList<Series> listOfSeries = new ArrayList<Series>();
public void openAddActivity() {
Intent intent = new Intent(this, AddActivity.class);
intent.putParcelableArrayListExtra(
"com.example.episodetracker.listofseries",
(ArrayList<? extends Parcelable>) listOfSeries);
startActivity(intent);
}
मुझे सूची डालने की ज़रूरत है, अन्यथा ग्रहण मुझे निम्नलिखित त्रुटि संदेश देता है। विधि putParcelableArrayListExtra (स्ट्रिंग, ArrayList) प्रकार आशय में तर्क (स्ट्रिंग, सूची)
इस यह करने के लिए सही तरीका है के लिए लागू नहीं है?
ArrayList<Series> list = savedInstanceState
.getParcelableArrayList("com.example.episodetracker.listofseries");
इस तरह से मैं किसी अन्य गतिविधि में डेटा को पढ़ने का प्रयास करता हूं।
यह उपरोक्त रेखा पर दुर्घटनाग्रस्त हो रहा है। अर्थात् getParcelableArrayList भाग।
1/मुझे समझ नहीं आता काम नहीं करता क्या था आपके कोड में 2/क्या आप कहीं सूचियों को सहेजते नहीं हैं? इसलिए, गतिविधि से गतिविधि तक पहुंचने वाली सरणी के बजाय डेटाबेस पर काम करना सबसे अच्छा नहीं होगा? – njzk2
पार्ससेलबल्स शैतान हैं इसलिए बोलने के लिए ... क्या आपने इसे इसके बजाय Serializable बनाने की कोशिश की है? – snowCrabs
मैं इस धारणा के तहत था कि सेरियलज़ेबल बहुत धीमी है क्योंकि पार्सेलिएबल जाने का तरीका है? –