Updated 6 October 2017
In the blog, we have shown you how to pass the List of CustomObjects to the Activity and fragment.
In this technique, we have used the Serialization for the list passing.
Serialization is the process of converting an object into a stream of bytes in order to store the object or transmit it to memory, a database, or a file. Its main purpose is to save the state of an object in order to be able to recreate it when needed. The reverse process is called deserialization.
Step 1: Implements your model With Serializable interface,
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 public class MyProductModel implements Serializable {@SerializedName("productName")@Exposeprivate String productName;@SerializedName("productSDesc")@Exposeprivate String productSDesc;@SerializedName("price")@Exposeprivate Price price;@SerializedName("imageUrl")@Exposeprivate String imageUrl;public String getProductName() {return productName;}public void setProductName(String productName) {this.productName = productName;}public String getProductSDesc() {return productSDesc;}public void setProductSDesc(String productSDesc) {this.productSDesc = productSDesc;}public Price getPrice() {return price;}public void setPrice(Price price) {this.price = price;}public String getImageUrl() {return imageUrl;}public void setImageUrl(String imageUrl) {this.imageUrl = imageUrl;}}
Step 2:
1 |
(new HomeTabProductsFragment()).newInstance((Serializable) mainData.getData().getFeaturedProduct(), ""); |
1 2 3 4 5 6 7 8 |
public static HomeTabProductsFragment newInstance(Serializable param1, String param2) { HomeTabProductsFragment fragment = new HomeTabProductsFragment(); Bundle args = new Bundle(); args.putSerializable(ARG_PARAM1, param1); args.putString(ARG_PARAM2, param2); fragment.setArguments(args); return fragment; } |
12345678 @Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);if (getArguments() != null) {mParam1 = (List<HomeProductsModel>) getArguments().getSerializable(ARG_PARAM1);mParam2 = getArguments().getString(ARG_PARAM2);}}
1 2 3 |
Intent intent = new Intent(getActivity(), Activity.class); intent.putExtra("list", (Serializable) mainData.getData().getFeaturedProduct()); getActivity().startActivity(intent); |
1 |
((List<HomeProductsModel>) getIntent().getExtras().getSerializable("list")) |
If you have any doubt on this blog, please ask in comments. And stay updated and stay super.
If you have more details or questions, you can reply to the received confirmation email.
Back to Home
Be the first to comment.