title: How to use Intent Extras to pass Array of Serializable objects?
body: <p>I want to pass an array of objects without using the preference 
  I use Intent!!!</p>
  
  <p>The Object class Bts </p>
  
  <pre><code>public class Bts implements Serializable {
  
          int idbts;
          String nombts;
          String ipaddress;
          String logb;
          String pawb;
          int xbts;
          int ybts;
          public  Bts(int idbts, String nombts, String ipaddress, String logb,
                  String pawb, int xbts, int ybts) {
              super();
              this.idbts = idbts;
              this.nombts = nombts;
              this.ipaddress = ipaddress;
              this.logb = logb;
              this.pawb = pawb;
              this.xbts = xbts;
              this.ybts = ybts;
          }
          //wthis setter and getter
  }
  </code></pre>
  
  <p>The source activity 
  Ps:JSONParseBts filled listeBts.</p>
  
  <pre><code>public class ApresConnextionActivity extends Activity {
  
      public Bts[] listeBts;
      @Override
      protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          super.setContentView(R.layout.apresconnect);
          final Button btsButton = (Button) findViewById(R.id.btbts);
          //boutonbts
          btsButton.setOnClickListener(new OnClickListener() {
              @Override
              public void onClick(View v) {               
  
                Log.w("myApp",""+listeBts.length);
                  Intent i = new Intent(ApresConnextionActivity.this, BtsBoutonActivity.class);
                  i.putExtra("tabbts",listeBts);
  
                  startActivity(i);
  
  
              }
          });
           new JSONParseBts().execute();
      }
  
      public class JSONParseBts extends AsyncTask&lt;String, String, JSONObject&gt; { ... }
  
  }
  </code></pre>
  
  <p>And distination Activity:</p>
  
  <pre><code>    public class BtsBoutonActivity extends Activity {
          cellule[] listecellule;
          Bts[] listeBts;
          int i,xx=0;
  
          protected void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              super.setContentView(R.layout.btsbouton);
  
              Bundle b = getIntent().getExtras();
              if (b != null)
              {
                  Bts[] listeBts = (Bts[])b.getSerializable("tabbts") ;
                  Log.w("myApp",""+listeBts.length);
              }else{
                  Log.w("myApp","you have problem");
              }
  
          /*  Intent intent = getIntent();
              listeBts =  (Bts[])intent.getSerializableExtra("tabbts");*/
  
               final Button[] b = new Button[listeBts.length];
               LinearLayout ll3 = (LinearLayout)findViewById(R.id.linearLayout2); // Btn  
  
                  for(i = 0; i &lt; listeBts.length; i++){
                      //Log.w("myApp",listeBts[i].toString());
              b[i] = new Button(BtsBoutonActivity.this);
              b[i].setText(listeBts[i].getNombts());
               xx =listeBts[i].getIdbts();
              Log.w("myApp",""+xx);
              b[i].setId(xx);
              ll3.addView(b[i]);
  
              final Button btbts = (Button) findViewById(xx);
              btbts.setOnClickListener(new OnClickListener() {
          public void onClick(View v) {
  
          Toast saved_message=Toast.makeText(BtsBoutonActivity.this,btbts.getText()+"  "+btbts.getId(),1);
                saved_message.show();                        
  
  
                }});
  
              }
          }
  
      }
  </code></pre>
  
  <p>The error is:</p>
  
  <pre><code>05-10 16:29:25.096: E/AndroidRuntime(819): java.lang.RuntimeException: Unable to start activity ComponentInfo{pfe.essat.com/pfe.essat.com.BtsBoutonActivity}: java.lang.ClassCastException: java.lang.Object[] cannot be cast to pfe.essat.objet.com.Bts[]
  </code></pre>