getIntent().getStringExtra()返回null。

5

我正在使用一个EditText字段和一个Spinner。我需要将两者的结果传递给下一个Activity。在此,reqd_bloodgroup是Spinner项,我使用以下代码将其转换为String:

reqd_bloodgrp = String.valueOf(spinner.getSelectedItem());

这段代码位于spinner的onItemSelected()方法中。

intent.putExtra("city", citySelected.getText().toString());
intent.putExtra("bloodgroup", reqd_bloodgrp);
intent = new Intent(FindDonor.this,SpecificDonor.class);
startActivity(intent);

在这里,当我试图展示它们时,没有问题。它们被正确地显示出来了。但是,当我尝试在SpecificDonor活动中获取它们时,它们显示为空值。这里使用的代码是:

String text_city,text_bloodgroup;
text_city = getIntent().getStringExtra("city");
text_bloodgroup = getIntent().getStringExtra("bloodgroup");
Toast.makeText(getApplicationContext(), text_city + " " + "bloodgrp: " + text_bloodgroup, Toast.LENGTH_SHORT).show();

可能存在什么问题?

你尝试过这个替代方案吗?https://dev59.com/Gm855IYBdhLWcg3woV4_#4233941 - Andro Selva
1个回答

9
我认为你必须做到以下几点:
intent = new Intent(FindDonor.this,SpecificDonor.class);

在添加额外内容之前,请尝试以下操作:

intent = new Intent(FindDonor.this,SpecificDonor.class);
intent.putExtra("city", citySelected.getText().toString());            
intent.putExtra("bloodgroup", reqd_bloodgrp);
startActivity(intent);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接