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

カスタム アイテムをパーセル化可能にしてから、配列をパーセル化可能配列としてバンドルに入れ、アクティビティに渡します。

于 2013-01-30T12:25:23.967 に答える
0

これを見る必要があります

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

モデルをパーセル可能にします。例はリンクに示されています。

于 2013-01-30T12:25:57.017 に答える
0

これをメモリ内で実行したい場合、次の 3 つの解決策が思い浮かびます。

  1. @takecareなどで説明されているように、データを分割可能にします。http://developer.android.com/reference/android/os/Parcelable.htmlも参照してください。
  2. JSON を使用してデータをシリアル化します。たとえば、http://developer.android.com/reference/org/json/JSONTokener.htmlを参照してください。
  3. シングルトン クラスをデータのホルダーとして使用します。アプリケーション オブジェクトを使用することもできます。たとえば、Android のシングルトンとアプリケーション コンテキストを参照してください。
于 2013-01-30T12:27:23.723 に答える