此问题已经在这里有了答案:
我在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。
尝试将city.getText()更改为city.getText()。toString()。希望它应该工作。
i.putExtra("citySearch", city.getText().toString());
希望获得帮助。
将i.putExtra("citySearch", city.getText());
更改为i.putExtra("citySearch", city.getText().toString());