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

问题描述 投票:1回答:3

此问题已经在这里有了答案:

我在3次出现的1次中从getStringExtra返回一个空值。我看到带有正确密钥的调试器中存在该值。

这是我设置额外功能的方式:

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。

android
3个回答
2
投票

尝试将city.getText()更改为city.getText()。toString()。希望它应该工作。


0
投票
i.putExtra("citySearch", city.getText().toString());

希望获得帮助。


0
投票

i.putExtra("citySearch", city.getText());更改为i.putExtra("citySearch", city.getText().toString());

© www.soinside.com 2019 - 2024. All rights reserved.