web-dev-qa-db-fra.com

Android Intent.getStringExtra () renvoie null

Voici comment les chaînes sont ajoutées aux 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();

Voici comment j'essaye de les extraire dans onActivityResult():

String name = data.getStringExtra("Name");
String desc = data.getStringExtra("Description");
int prior   = data.getIntExtra("Priority", 50);

Mais après le deuxième bloc de code, name et desc sont null, bien que prior ait sa propre valeur. De plus, dans le débogueur, je peux voir que data.mExtras.mMap Contient les chaînes nécessaires, mais seulement après la première demande.

37
hotkey

Lorsque vous insérez votre Extras en essayant d'ajouter .toString()

i.putExtra("Name", edt_name.getText().toString());

Vous voyez la valeur CharSequence là-dedans mais vous devez la convertir en String pour appeler getStringExtra(). Évidemment, faites cela pour le Strings. Vous voyez la valeur correcte pour votre int car cela se fait correctement

86
codeMagic