Search code examples
androidlistandroid-intentserializationonactivityresult

In onActivityResult intent.getSerializableExtra is not calling


I am not getting OnActivityResult.This method is not calling when I return seriazable list from my second activity.Pls check below code,if I made any mistake pls let me now`

`

List Activity

professional_filter.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                Intent intent  = new Intent(ProfessionalListActivity.this, ProfessionalFilter.class);
                intent.putExtra("data_list", (Serializable)professionalDataList);


                startActivityForResult(intent, PROFESSIONAL_INTENT_REQUEST_CODE);

                startActivity(intent);



            }
        });



@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
// super.onActivityResult(requestCode, resultCode, intent);
super.onActivityResult(requestCode, resultCode, intent);
if (resultCode == RESULT_OK) {

    if (requestCode == PROFESSIONAL_INTENT_REQUEST_CODE) {

        intent = getIntent();

        ProfessionalDataList professionalD

ataList = (ProfessionalDataList)
       intent.getSerializableExtra("data_list");
            professionalListAdapter = new 
            ProfessionalListAdapter(ProfessionalListActivity.this, 
           (List<ProfessionalDataList>) professionalDataList, false);
            recyclerView.setAdapter(professionalListAdapter);
            isGrid = true;
            professionalListAdapter.notifyDataSetChanged();
          }
    }
> Filter Activity
  @Override
    protected void onCreate(Bundle savedInstanceState) {
    professionalDataList= (List<ProfessionalDataList>)  
    getIntent().getSerializableExtra("data_list");
     }

> From api response am saving data.If api

call is successful I need to pass this data to list activity and update my recycler list.But now am not getting data and list is not updating

   Intent intent = new    
   Intent(ProfessionalFilter.this,ProfessionalListActivity.class);     
     intent.putExtra("data_list", (Serializable)  professionalDataList); 
     setResult(Activity.RESULT_OK,intent);
     startActivity(intent);
     finish();

Solution

  • just remove startActivity(intent) like this

    Intent intent = new Intent();     
    intent.putExtra("data_list", (Serializable)  professionalDataList); 
    setResult(Activity.RESULT_OK,intent);
    finish();