2017-01-19 2 views
2

Код фрагмент MoneyTransferFragment ......Как передать объект из одного фрагмента другому?

MoneyTransferFragment moneyTransferFragment = new MoneyTransferFragment(); 
        Bundle b = new Bundle(); 
        b.putSerializable("UserValidateObject",userValidate); 
        b.putSerializable("BeneficiaryObject",beneficiaryDetails); 
        moneyTransferFragment.setArguments(b); 

код второго фрагмента, где я хочу retrive этого объекта .......

Bundle b = getArguments(); 
    userValidate =(UserValidate) b.getSerializable("UserValidateObject"); 
    Log.i("getuserValidate",userValidate.toString()); 

показывает ошибку при входе этого. .........

java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference 
+0

Пожалуйста показать [mcve] ваш код, который фактически загружает 'MoneyTransferFragment' –

+0

@suraj вы пытались сделать класс 'UserValidate' как' Serilizable' или 'Parcelable'? – user1140237

+1

Возможный дубликат: http: //stackoverflow.com/questions/19998239/android-passing-objects-between-fragments – HsRaja

ответ

2

изменить код От:

Bundle b = getArguments(); 
userValidate =(UserValidate) b.getSerializable("UserValidateObject"); 
Log.i("getuserValidate",userValidate.toString()); 

To:

userValidate=(UserValidate)getArguments().getSerializable("UserValidateObject"); 
Log.i("getuserValidate",userValidate.toString()); 

активность работы:

(YourObject)getIntent().getSerializableExtra("keyname"); 

Фрагмент работ:

(YourObject)getArguments().getSerializable("keyname"); 
+0

public class UserValidate реализует Serializable {// ваши методы и переменные} –

+0

Попытка вызвать виртуальный метод 'java.io.Serializable android.os.Bundle.getSerializable (java.lang.String) 'на нулевой ссылке объекта –

+0

изменили ли вы свой код? –