在下一个活动中获取arraylist的空值

时间:2013-03-20 05:51:33

标签: android arrays android-intent android-activity arraylist

请帮助我。我想将项目名称,数量,金额和费率的数组列表从下达活动确认订单传递到下一个活动确认订单...但是在下一个活动获取该数组列表的空值我能做什么?

订单代码

 Intent intent = new Intent(MakeOrder.this,Demo.class);
    intent.putStringArrayListExtra("selectedItems",strItemNameAlert);
    intent.putStringArrayListExtra("selectedRates",strRateAlert);
    intent.putStringArrayListExtra("selectedQuantity",strQuantityAlert);
    intent.putStringArrayListExtra("selectedAmount",strAmountAlert);
    intent.putStringArrayListExtra("selectedId",strItemIdAlert);
    startActivity(intent);

确认订单代码

public class ConfirmOrder extends Activity {

     ArrayList<String> resultArrItemname;
     ArrayList<String> resultArrItemrate;
     ArrayList<String> resultArrItemquantity;
     ArrayList<String> resultArrItemamount;
     ArrayList<String> resultArrItemid;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.demo);

        resultArrItemname=new ArrayList<String>();
         resultArrItemrate=new ArrayList<String>();
        resultArrItemquantity=new ArrayList<String>();
         resultArrItemamount=new ArrayList<String>();
          resultArrItemid=new ArrayList<String>();
          Intent intent1=new Intent();
          resultArrItemname = intent1.getStringArrayListExtra("selectedItems");
           resultArrItemrate = intent1.getStringArrayListExtra("selectedRates");
           resultArrItemquantity = intent1.getStringArrayListExtra("selectedQuantity");
           resultArrItemamount = intent1.getStringArrayListExtra("selectedAmount");
           resultArrItemid = intent1.getStringArrayListExtra("selectedId");

    } 

2 个答案:

答案 0 :(得分:5)

使用

 Intent intent1=this.getIntent();

而不是

 Intent intent1=new Intent();

获取下一个活动的价值

答案 1 :(得分:0)

ConfirmOrder 活动中,您通过执行此操作来创建新的空意图。

  

Intent intent1 = new Intent();

所以绝对intent1.getStringArrayListExtra("selectedItems"); 这将返回null,因为在intent1中找不到selectedItems String。您必须调用getIntent(String uri)类的Intent方法来获取第一个活动中的值。

使用:

Intent intent1=this.getIntent();
intent1.getStringArrayListExtra("selectedItems");

注意

public static Intent   getIntent  (String uri)

此方法已在API级别4中弃用。 请改用parseUri(String, int)