Android Intent.getStringExtra() возвращает null
Вот как строки добавляются в Extras:
Intent i = new Intent();
i.putExtra("Name", edt_name.getText());
i.putExtra("Description", edt_desc.getText());
i.putExtra("Priority", skb_prior.getProgress());
setResult(RESULT_OK, i);
finish();
Вот как я пытаюсь извлечь их в onActivityResult()
:
String name = data.getStringExtra("Name");
String desc = data.getStringExtra("Description");
int prior = data.getIntExtra("Priority", 50);
Но после второго кодового блока name
и desc
являются null
', хотя prior
имеет правильное значение.
Более того, в отладчике я вижу, что data.mExtras.mMap
содержит необходимые строки, но только после первого запроса на него.
Ответы
Ответ 1
Когда вы вставляете Extras
, добавляя .toString()
i.putExtra("Name", edt_name.getText().toString());
Вы видите значение CharSequence
, но вам нужно преобразовать его в String
для вызова getStringExtra()
. Очевидно, просто сделайте это для Strings
. Вы видите правильное значение для int
, потому что это сделано правильно