title: Android Parcelable object return Null
body: <p>I have Product class.I want to pass product object one activity to another.</p>
  
  <p>I have implemented like this : </p>
  
  <pre><code> public class Product implements Parcelable{
       private double availableQuantity;
       private double price;
       private String productCode;    
       private String description;
       private String nonStockItemFlag;   
       private String activeFlag;
       private String kitProductFlag;
       private double value;
       private ArrayList&lt;Product&gt; product;
       private double qty;
  
      public Product() {
  
  }
  
  
  /**
   * @param availableQuantity
   * @param price
   * @param productCode
   * @param description
   * @param nonStockItemFlag
   * @param kitProductFlag
   * @param qty
   * @param grossValue
   * @param value
   */
  
  public Product(double availableQuantity, double price, String productCode,
          String description, String nonStockItemFlag, String kitProductFlag,
          double qty,  double value) {
      super();
      this.availableQuantity = availableQuantity;
      this.price = price;
      this.productCode = productCode;
      this.description = description;
      this.nonStockItemFlag = nonStockItemFlag;
      this.kitProductFlag = kitProductFlag;
      this.qty = qty;
      this.value = value;
  }
       // setter &amp; getter
  
  
  public int describeContents() {
      return 0;
  }
  
  
  public void writeToParcel(Parcel dest, int flags) {
  
      Bundle b = new Bundle();
      b.putParcelableArrayList("enteredProduct", product);
      dest.writeBundle(b);
  }
  
  
  public static final Parcelable.Creator&lt;Product&gt; CREATOR = new Parcelable.Creator&lt;Product&gt;() { 
      public Product createFromParcel(Parcel in) { 
          Product prod = new Product();
  
      Bundle b = in.readBundle(Product.class.getClassLoader());        
      prod.product = b.getParcelableArrayList("enteredProduct");
      System.out.println("***product***" + prod.product.get(0).getPrice());
      return prod;
      }
  
  public Product[] newArray(int size) {
      return new Product[size];
  }
   };
  </code></pre>
  
  <p>This is caller part :</p>
  
  <pre><code>   if(productMap.size() &gt;0){
           ArrayList&lt;Product&gt; enteredProductList = new ArrayList&lt;Product&gt;(productMap.values());
           System.out.println("-enteredProductList --" + enteredProductList.size());
           System.out.println("--- " +enteredProductList.get(0).getPrice() );
           Bundle b = new Bundle();
           b.putParcelableArrayList("enteredProduct", enteredProductList);
           Intent showContent = new Intent(getApplicationContext(),RetailerOrderIActivity.class);
           showContent.putExtras(b); //Insert the Bundle object in the Intent' Extras
           startActivity(showContent);
       }else{
           Toast.makeText(RetailerOrderActivity.this," You don't have invoice records" ,Toast.LENGTH_SHORT).show();
       }
  </code></pre>
  
  <p>This is receive part :</p>
  
  <pre><code>    Bundle b = this.getIntent().getExtras();
     ArrayList&lt;Product&gt; p = b.getParcelableArrayList("enteredProduct");
      System.out.println("-- RetailerOrderIActivity --" + p.size() );
      for(Product s : p){
      System.out.println(" --Qty-" + s.getQty());
      System.out.println(" --price -" + s.getPrice());
      System.out.println(" --code -" + s.getProductCode());
      }
  </code></pre>
  
  <p>The receiving part return null value.But in the sending Activity part contain value.Please correct my code?</p>
  
  <p>what is wrong in my code?</p>
  
  <p>I have lot of property for product entity calss.But i want to set some of entity.</p>
  
  <p>Thanks in advance.</p>