0

这就是我将自定义数据类型 Items ** Items[] itemsArr ** 数组传递给意图的方式

Intent pruchadeDetails = new Intent(getApplicationContext(),PurchaseHistoryDetails.class);
pruchadeDetails.putExtra("item",itemsArr[position].getShoppingItems());
startActivityForResult(pruchadeDetails, 0);

无法使用这两种方法检索它

Item[] itemArr = (Item[])getIntent().getSerializableExtra("item"); //method 1
String json = pruchadeDetails.getStringExtra("item");//method 2

任何帮助都非常感谢

4

6 回答 6

1

希望这段代码对您有所帮助。

    intent.putCharSequenceArrayListExtra("ListName", ArrayList)
    Intent purchaseDetails= new Intent(getApplicationContext(), PurchaseHistoryDetails.class);
    purchaseDetails.putCharSequenceArrayListExtra("items", yourArrayList);
    startActivityForResult(purchaseDetails,0);

传递您的自定义数据类型的数组列表。

于 2013-01-30T12:37:43.473 回答
1

试试这个代码

 intent.putCharSequenceArrayListExtra("ArrayListName", ArrayList)
Intent purchaseDetails= new Intent(getApplicationContext(), this.class);
purchaseDetails.putCharSequenceArrayListExtra("items", ArrayList);
startActivityForResult(purchaseDetails,0);
于 2013-01-30T12:41:01.027 回答
0

对于下面的第一个活动使用。

List<String> itemList = new ArrayList();
for(int i=0;i<5;i++){
itemList.add("i'th List"+i);
}

Intent intent= new Intent(this,ReportsActivity.class);
intent.putStringArrayListExtra("items", (ArrayList<String>) itemList);
startActivity(intent);

并将此数组用于另一个活动

Bundle bundle = getIntent().getExtras();
    List<String> itemList= bundle.getStringArrayList("items");

    for(int i=0;i<itemList.size();i++){
       Log.i("TAG", itemList.get(i));       
    }
于 2013-01-30T12:38:18.333 回答
0

如果您想在内存中执行此操作,我想到了三个解决方案:

  1. 如@takecare所述,使您的数据可打包。另请参阅http://developer.android.com/reference/android/os/Parcelable.html
  2. 使用 JSON 序列化您的数据。参见,例如, http: //developer.android.com/reference/org/json/JSONTokener.html
  3. 使用单例类作为数据的持有者。您还可以使用应用程序对象。参见,例如,Android 中的 Singletons vs. Application Context?
于 2013-01-30T12:27:23.723 回答
0

使您的自定义项目可打包,然后将数组作为 Parcelable 数组放入 Bundle 中,以将其传递给活动。

于 2013-01-30T12:25:23.967 回答
0

你需要看看这个

http://developer.android.com/reference/android/os/Parcelable.html

使您的模型可包裹。链接中给出了一个示例。

于 2013-01-30T12:25:57.017 回答