【问题标题】:get null value for arraylist on next activity在下一个活动中为 arraylist 获取空值
【发布时间】:2013-03-20 05:51:32
【问题描述】:

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

订单代码

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

    } 

【问题讨论】:

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


    【解决方案1】:

    使用

     Intent intent1=this.getIntent();
    

    而不是

     Intent intent1=new Intent();
    

    在下一个活动中获得价值

    【讨论】:

      【解决方案2】:

      ConfirmOrder Activity 中,您正在创建一个新的空 Intent。

      意图intent1=new Intent();

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

      用途:

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

      注意

      public static Intent   getIntent  (String uri)
      

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-11-24
        • 2016-02-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多