First, create two methods in your custom class.
public class Qabir { public int age; public String name; Qabir(){ } Qabir(int age,String name){ this.age=age; this.name=name; }
}
then create a function to send a list of objects
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Qabir q1 = new Qabir(22, "KQ"); Qabir q2 = new Qabir(23, "KQ"); Qabir q3 = new Qabir(24, "K_Q"); ArrayList<Qabir> list = new ArrayList<Qabir>(); list.add(q1); list.add(q2); list.add(q3); Intent in = new Intent(this, SubActivity.class); in.putExtra("obj", arrayListToJSON(list)); startActivity(in); } private String arrayListToJSON(ArrayList<Qabir> al) { JSONArray array = new JSONArray(); try { for (int i = 0; i < al.size(); i++) { array.put(new JSONObject(al.get(i).toJSON())); } } catch (JSONException e) { e.printStackTrace(); } return array.toString(); }
and create another function on the receiver
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ArrayList<Qabir> list = new ArrayList<Qabir>(); list = getObjectList(getIntent().getStringExtra("obj")); Log.e("Activity 2", "" +list.size()); } private ArrayList<Qabir> getObjectList(String st) { ArrayList<Qabir> list = new ArrayList<Qabir>(); JSONArray array = null; try { array = new JSONArray(st); } catch (JSONException e) {
Enjoy ....
source share