Hi I am passing an arraylist from one activity to another using Parcelable..
Now the problem is that when I click on BILL, all the rows are populated with the last value of the arraylist..So I guess I am not able to retreive the whole arraylist in the calling activity...
Here is the relevant code..
SpinPizza.java
public class SpinPizza extends Activity{
store temp= new store();
     int i=0;
ArrayList<store> B = new ArrayList<store>();
//oncreate method
  int n=Integer.parseInt(edittext.getText().toString());
     temp.setOrder(s.getSelectedItem().toString(), s1.getSelectedItem().toString(),n);
          B.add(temp);
             TextView objText=(TextView) findViewById(R.id.pl);
              TextView objText1=(TextView) findViewById(R.id.pl2);
              objText.setText(B.get(i).getPizzaName());
             objText1.setText(temp.getPizzaSize());
                 i++;
    });
      Button next1 = (Button) findViewById(R.id.bill);    
      next1.setOnClickListener(new View.OnClick开发者_如何学CListener() {
          public void onClick(View view) {
              Intent myIntent = new Intent(view.getContext(), Bill.class);
                  myIntent.putParcelableArrayListExtra("myclass",B);
              startActivityForResult(myIntent, 0);
          }
      });
}
Bill.java
public class Bill extends Activity {
 @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
this.setContentView(R.layout.calc);
ArrayList<store> B1 = new ArrayList<store>();
store temp1=new store();
Bundle bj=getIntent().getExtras();
    B1=bj.getParcelableArrayList("myclass");
  TableLayout tl = (TableLayout)findViewById(R.id.myTable);
                      for(int i=0;i<B1.size();i++)
        { 
             TableRow tr = new TableRow(this);
             tr.setId(100+i);
            temp1=B1.get(i);         
             tr.setLayoutParams(new LayoutParams(
                            LayoutParams.FILL_PARENT,
                            LayoutParams.WRAP_CONTENT));
            TextView b = new TextView(this);
        b.setText(temp1.getPizzaName()); 
        b.setId(200+i);
        TextView b1 = new TextView(this);
        b1.setText(temp1.getPizzaSize());
        b1.setId(300+i);
       TextView b2 = new TextView(this);
       b2.setText(String.valueOf(temp1.getQuantity()));
       b2.setId(400+i);
        b.setLayoutParams(new LayoutParams(
                    LayoutParams.FILL_PARENT,
                    LayoutParams.WRAP_CONTENT));
        tr.addView(b);
        b1.setLayoutParams(new LayoutParams(
                LayoutParams.FILL_PARENT,
                LayoutParams.WRAP_CONTENT));
        tr.addView(b1);
        b2.setLayoutParams(new LayoutParams(
                LayoutParams.WRAP_CONTENT,
                LayoutParams.WRAP_CONTENT));
        tr.addView(b2);
tl.addView(tr,new TableLayout.LayoutParams(
          LayoutParams.FILL_PARENT,
          LayoutParams.WRAP_CONTENT));
 }}
}
PLEASE HELP.
I can't see the creation of temp, nor i can see the iteration using in your temp modifier line temp.setOrder(s.getSelectedItem().toString(), s1.getSelectedItem().toString(),n);. It seems that you don't use i there that's why you have equal records.
                                        
                                        
                                        
                                        
                                        
                                        
                                        
                                        
 加载中,请稍侯......
      
精彩评论