intent.getStringExtra在android中不起作用[duplicate]

大道之行,天下为公。这篇文章主要讲述intent.getStringExtra在android中不起作用[duplicate]相关的知识,希望能为你提供帮助。
此问题已经在这里有了答案:

  • Android Intent.getStringExtra() returns null1个答案
我在3次出现的1次中从getStringExtra返回一个空值。我看到带有正确密钥的调试器中存在该值。
【intent.getStringExtra在android中不起作用[duplicate]】这是我设置额外功能的方式:
Intent intent = new Intent(SettingsActivity.this, MainActivity.class); intent.putExtra("citySearch", city.getText()); intent.putExtra("nDays", nDays.getSelectedItem().toString()); intent.putExtra("method", method.getSelectedItem().toString()); SettingsActivity.this.startActivity(intent);

这是我要问的地方
Intent intent = getIntent(); String search = intent.getStringExtra("citySearch") == null ? "Maribor" : intent.getStringExtra("citySearch"); String nDays = intent.getStringExtra("nDays") == null ? "5" : intent.getStringExtra("nDays"); String method = intent.getStringExtra("method") == null ? "json" : intent.getStringExtra("method");

它适用于“ nDays”和“方法”,但不适用于“ citySearch”。该值始终为“ Maribor”,但我已对其进行调试,并且从.getStringExtra()返回的值为null。
答案尝试将city.getText()更改为city.getText()。toString()。希望它应该工作。
另一答案
i.putExtra("citySearch", city.getText().toString());

希望获得帮助。
另一答案将i.putExtra("citySearch", city.getText()); 更改为i.putExtra("citySearch", city.getText().toString());

    推荐阅读