首页 > 解决方案 > 在 onActivityResult intent.getSerializableExtra 没有调用

问题描述

我没有得到 OnActivityResult。当我从第二个活动返回可序列化列表时,此方法没有调用。请检查下面的代码,如果我犯了任何错误,请让我现在`

`

列出活动

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

调用成功我需要将此数据传递给列表活动并更新我的回收站列表。但现在没有获取数据并且列表没有更新

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

标签: androidlistandroid-intentserializationonactivityresult

解决方案


像这样删除 startActivity(intent)

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

推荐阅读