0

请帮助我。我想将项目名称、数量、数量和费率的数组列表从制作订单活动传递到下一个活动确认订单...但是在下一个活动中为该数组列表获取空值我该怎么办?

订单代码

 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");

    } 
4

2 回答 2

5

利用

 Intent intent1=this.getIntent();

代替

 Intent intent1=new Intent();

在下一个活动中获得价值

于 2013-03-20T05:53:07.363 回答
0

ConfirmOrder Activity 中,您正在通过这样做创建一个新的空意图。

意图意图1=新意图();

所以这肯定intent1.getStringArrayListExtra("selectedItems"); 会返回null,因为在 intent1 中找不到 selectedItems 字符串。您必须调用 类的getIntent(String uri)方法Intent来获取放入第一个 Activity 的值。

利用:

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

注意

public static Intent   getIntent  (String uri)

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

于 2013-03-20T06:11:43.623 回答