2017-02-23 7 views
1

ActivityAでArrayListを作成しましたが、ActivityBに渡したいと思います。ArrayList <Object>を1つのインテントから別のインテントに渡す

ActivityA:

ArrayList<CardDetails> cardDetailsToPass = new ArrayList<>(); 

     if (v.getId() == balance.getId()){ 
      for(CardDetails cardDetails : cardDetailsArrayList){ 
       int clientID = cardDetails.getClientID(); 
       int cardID = cardDetails.getCardID(); 
       int cardNo = cardDetails.getCardNo(); 
       int balance = cardDetails.getCardBalance(); 
       int availableBalance = cardDetails.getCardAvailableBalance(); 
       int limit = cardDetails.getCardLimit(); 
       int expDate = cardDetails.getExpDate(); 
       String status = cardDetails.getStatus(); 

       cardDetailsToPass.add(new CardDetails(clientID,cardID,cardNo,balance,availableBalance,limit,expDate,status)); 

       Log.d("Adapter","clientID    "+cardDetails.getClientID()); 
       Log.d("Adapter","cardID     "+cardDetails.getCardID()); 
       Log.d("Adapter","cardNo     "+cardDetails.getCardNo()); 
       Log.d("Adapter","cardBalance   "+cardDetails.getCardBalance()); 
       Log.d("Adapter","cardAvailableBalance "+cardDetails.getCardAvailableBalance()); 
       Log.d("Adapter","cardLimit    "+cardDetails.getCardLimit()); 
       Log.d("Adapter","cardExpDate   "+cardDetails.getExpDate()); 
       Log.d("Adapter","cardStatus    "+cardDetails.getStatus()); 

      } 

      Intent intent = new Intent(context, CardStatementActivity.class); 
      intent.putExtra("cardDetailsToPass",cardDetailsToPass); 
      context.startActivity(intent); 

ActivityB:

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_card_statement); 



    Bundle extras = getIntent().getExtras(); 
    if(extras != null){ 
     //get the ArrayList here 
    } 
} 

ノー成功を収めてこれを行う1つの方法を試してみました。 ObjectのArrayListを渡すには別のものが必要ですか?

答えて

1

カスタム定義オブジェクトのarraylistは、シリアライズ可能またはパーセル可能のいずれかを使用して渡すことができます。

はあなたがIntentにプレーンなJavaオブジェクトのリストを渡すことはできません多く

Android: Difference between Parcelable and Serializable?

+0

おかげでそれを取得する何ができますか@ザキルはチャームのように働いた! – pavlos

0

あなたは以下試す方法をParcelableを実装し、使用しているあなたはCardDetails必見implement Parceable

intent.putParcelableArrayListExtra("key", ArrayList<T extends Parcelable> list); 
startActivity(intent); 

getIntent().getParcelableArrayListExtra("key"); 
関連する問題