software - android system download




Intent.putExtra सूची (3)

संभव डुप्लिकेट:
इरादे में लिस्ट कैसे डालें

मैं एक गतिविधि से दूसरी गतिविधि में एक सूची पास करना चाहता हूं। अभी तक मैं सफल नहीं हुआ हूं। यह मेरा कोड है।

//desserts.java

private List<Item> data;  

@Override
public void onCreate(Bundle icicle) {
//Code
data.add(new Item(10, "dessert1"));
data.add(new Item(11, "dessert2"));
data.add(new Item(12, "dessert3"));
data.add(new Item(13, "dessert4"));
data.add(new Item(14, "dessert5"));
data.add(new Item(15, "dessert6"));
data.add(new Item(16, "dessert7"));
data.add(new Item(17, "dessert8"));
data.add(new Item(18, "dessert9"));
data.add(new Item(19, "dessert10"));
data.add(new Item(20, "dessert11"));  

//Some more code  
}  

@Override
public void onClick(View v) {  
Intent view_order_intent = new Intent(this, thirdpage.class);
view_order_intent.putExtra("data", data); 
startActivity(view_order_intent);  
}   

लेकिन मैं इस तरह से डेटा नहीं डाल पा रहा हूं। मैंने पहले भी यह सवाल पूछा था लेकिन बहुत कुछ नहीं हुआ।
कृप्या सहायता करे। अगली गतिविधि में डेटा प्राप्त करने में मेरी मदद करें।


आप इसे दो तरीकों से कर सकते हैं

  • serializable

  • Parcelable।

यह परीक्षा आपको दिखाएगी कि इसे क्रमबद्धता के साथ कैसे लागू किया जाए

class Customer implements Serializable
{
   // properties, getter setters & constructor
}

// This is your custom object
Customer customer = new Customer(name, address, zip);

Intent intent = new Intent();
intent.setClass(SourceActivity.this, TargetActivity.this);
intent.putExtra("customer", customer);
startActivity(intent);

// Now in your TargetActivity
Bundle extras = getIntent().getExtras();
if (extras != null)
{
    Customer customer = (Customer)extras.getSerializable("customer");
    // do something with the customer
}

अब इस पर एक नजर डालते हैं this. यह लिंक आपको पार्सलबल के साथ इसे लागू करने का एक संक्षिप्त विवरण देगा।

ये देखो this. । यह चर्चा आपको बताएगी कि इसे लागू करने का कौन सा बेहतर तरीका है।

धन्यवाद।


यदि आप सूची के बजाय ArrayList का उपयोग करते हैं तो आपकी समस्या wil भी हल हो जाएगी। आपके कोड में केवल ArrayList में सूची को संशोधित करें।

private List<Item> data;

 //To send from the activity that is calling another activity via myIntent

    myIntent.putExtra("id","10");
    startActivity(myIntent);

    //To receive from another Activity

            Bundle bundle = getIntent().getExtras();
            String id=bundle.getString("id");