намерение отправить объект pojo во втором действии, во втором объекте действия получить, но внутренний список объектов возвращает значение null

у меня есть один контакт имени класса pojo

я открываю новую активность для ее редактирования

используя это

Intent iEditContact = new Intent(JsonParseActivity.this, EditContatctActivity.class);
            iEditContact.putExtra(Constant.intent_key_edit_contact, contact);
            startActivityForResult(iEditContact, Constant.edt_contect_request_code);

я получил этот контакт, используя это

if (iContact != null && iContact.hasExtra(Constant.intent_key_edit_contact)) {
        contact = iContact.getParcelableExtra(Constant.intent_key_edit_contact);

после того, как я обновлю его имя, номер и другие детали... я хочу снова отправить это pojo в свою основную деятельность и обновить recyclerview

как это сделать с помощью OnActivityResult() без повторного создания новой активности

и как снова получить этот список в моей основной деятельности


person BiRjU    schedule 15.03.2018    source источник


Ответы (1)


Как снова получить этот список в моей основной активности?

Что ж, вы можете использовать BroadcastReceiver, чтобы получить его обратно в 1st Activity, посмотрите..

В 1-м действии

сделать переменную поля broadcastReceiver

 BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
       Contact contact;
        if(intent.getExtras()!=null) {
           contact = intent.getParcelableExtra(Constant.intent_key_edit_contact);
    }
};

И в onResume прописать получателя!!

@Override
public void onResume() {
    super.onResume();
    LocalBroadcastManager.getInstance(context).registerReceiver(broadcastReceiver,new IntentFilter("receive_contact"));        
}

И в втором действии после перехода от modification к contact object

 Intent intent = new Intent("receive_contact");
 intent.putExtra(Constant.intent_key_edit_contact, contact);
 LocalBroadcastManager.getInstance(context).sendBroadcast(intent);
person Santanu Sur    schedule 15.03.2018