android intent - कैसे पार्सलेट योग्य सरणी सूची का इरादा रखना और प्राप्त करना



android-intent arraylist (1)

मैं इस ज़ज़नाम अरायलिस्ट को एक गतिविधि से दूसरी में भेजने की कोशिश करता हूं और यह काम करता है ..

पहली गतिविधि

ArrayList<LatLng> zaznam = new ArrayList<LatLng>();
zaznam.add(new LatLng(66,55));
zaznam.add(new LatLng(44,77));
zaznam.add(new LatLng(11,99));

Intent intent2 = new Intent(TrackerActivity.this, MakacMapa.class);
intent2.putParcelableArrayListExtra("Zaznam",zaznam);

दूसरी गतिविधि

Intent intent = new Intent();
ArrayList<LatLng> zaznam = intent.getParcelableArrayListExtra("Zaznam");  //and here it throws NullPointerExeption :/

आप पार्सलेट योग्य के रूप में सरणी सूची नहीं गुजर रहे हैं आपको पार्सल योग्य लागू करने के लिए उपयोग किए जाने वाले मॉडल (लाटल लाँग) को अनुकूलित करना होगा निम्न कोड को आज़माएं

LatLong.java

public class LatLong implements Parcelable {

int lat, long;

public int LatLong (int lat, int long) {
this.lat = lat;
this.long = long;
}


public int setLat(int lat) {
this.lat = lat;
}
public int getLat() {
return lat;
}
public int setLong(int long) {
this.long = long;
}

public int getLong() {
return long;
}
       @Override
       public int describeContents() {
       return 0;
       }

        @Override
        public void writeToParcel(Parcel dest, int flags) {
        dest.writeInt(lat);
        dest.writeInt(long);
        }


        public static final Creator<LatLong> CREATOR = new Creator<LatLong>() {
         @Override
         public LatLong createFromParcel(Parcel source) {
         return new LatLong(source);
         }

         @Override
         public LatLong[] newArray(int size) {
         return new LatLong[size];
       }
     };
}// LatLong Ends

Activity1.java

ArrayList<LatLng> zaznam = new ArrayList<LatLng>();
zaznam.add(new LatLng(66,55));
zaznam.add(new LatLng(44,77));
zaznam.add(new LatLng(11,99));

नीचे कोड महत्वपूर्ण है सूची पार्सल योग्य के रूप में पास करना

Intent intent2 = new Intent(TrackerActivity.this, MakacMapa.class);
intent2.putParcelableArrayListExtra("Zaznam", (ArrayList<? extends Parcelable>) zaznam);

Activity2.java

Intent intent = new Intent();
ArrayList<LatLng> zaznam = getIntent().getParcelableArrayListExtra("Zaznam");

आशा है कि यह आपकी मदद करेगा.. !! अगर आपकी कोई क्वेरी है तो मुझे टिप्पणी दें





parcelable