【发布时间】:2020-08-29 06:49:19
【问题描述】:
我没有得到 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();
【问题讨论】:
-
Intent intent = new Intent(ProfessionalFilter.this,ProfessionalListActivity.class);更改为Intent intent = new Intent();。 (如前所述:删除 startActivity)。 -
首先尝试返回一个简单的字符串。不要把它弄得那么复杂。
-
intent = getIntent();我的上帝...删除它!那么是否调用了 onActivityResult 但您没有取回数据?
标签: android list android-intent serialization onactivityresult