【问题标题】:Insterting ArrayList on Bundle在 Bundle 中插入 ArrayList
【发布时间】:2013-10-04 05:44:46
【问题描述】:

我有以下类型的 ArrayList:

ArrayList<HashMap<String, String>> data

我正在尝试将此data 传递给Bundle 我没有找到任何方法来实现它。我最接近这个的是:

putParcelableArrayList

有人可以帮忙吗?

【问题讨论】:

    标签: android arraylist hashmap bundle


    【解决方案1】:

    ArrayList 是可序列化的(以及 HashMaps 和 Strings),因此请尝试 putExtra(String, Serializable)IntentgetSerializableExtra(String) 方法中传递值以检索数据。

    ArrayList&lt;HashMap&lt;String, String&gt;&gt; 从活动 A 传递到活动 B

    Intent intent = new Intent(this, B.class);
    HashMap<String, String> hm = new HashMap<String, String>();
    hm.put("key", "value");
    ArrayList<HashMap<String, String>> arl = new ArrayList<HashMap<String, String>>();
    arl.add(hm);
    intent.putExtra("data", arl);
    startActivity(intent);
    

    在下一个活动中检索如下数据

    ArrayList<HashMap<String, String>> arl = (ArrayList<HashMap<String, String>>) getIntent().getSerializableExtra("data");
    System.out.println("serialized data.."+arl);
    

    【讨论】:

    • 谢谢 :) 我注意到您也试图在我之前的问题中提供帮助。谢谢大哥!
    【解决方案2】:

    我认为您正在尝试传递数据 b/w 活动。你可以这样做

    发件人

    ArrayList<HashMap<String, String>> arl = new ArrayList<HashMap<String, String>>();
    intent.putExtra("orderlist", arl);
    

    接收者

    Intent intent = getIntent();
    ArrayList<HashMap<String,String>> list = (ArrayList<HashMap<String, String>>) intent.getSerializableExtra("orderList"); 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-29
      • 1970-01-01
      • 2014-02-27
      • 2016-04-14
      • 2015-08-13
      • 2013-10-17
      相关资源
      最近更新 更多