Échec de remise résultat ResultInfo
Il ya beaucoup de gens qui ont rencontré le même message d'erreur sur stackoverflow, mais je n'ai pas été en mesure de trouver toute résolution pertinente dans ces postes. Mon MainActivity est le démarrage d'une nouvelle activité (SecondActivity) avec startActivityForResult(); SecondActivity puis retourne des données avec onBackPressed(); et putExtra();
Extrait de MainActivity.java:
public void addNewNote(View v){
Intent intent = new Intent(this, SecondActivity.class);
intent.putExtra("Source", "NEW");
startActivityForResult(intent, 1); //1 is the result code
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
Log.v("TAG", data.getStringExtra("Note"));
if (requestCode == 1) {
if(resultCode == RESULT_OK){
listItems.add(data.getStringExtra("Note"));
Log.v("TAG", data.getStringExtra("Note"));
adapter.notifyDataSetChanged();
listView.invalidateViews();
}
if (resultCode == RESULT_CANCELED) {
}
}
}
Extrait de SecondActivity.java:
@Override
public void onBackPressed() {
super.onBackPressed();
if (mainTextField.getText() != null){
Intent returnIntent = new Intent();
returnIntent.putExtra("Note",mainTextField.getText());
setResult(RESULT_OK, returnIntent);
finish();
} else {
Intent returnIntent = new Intent();
setResult(RESULT_CANCELED, returnIntent);
finish();
}
}
Logcat:
ce qui est écrit à la ligne no. 56 dans MainActivity?
Journal.v("TAG", données.getStringExtra("Note"));
essayez de .toString dans les deux cas , vous obtenez
Vous obtenez "null", lors de l'extraction de données avec une "Note" de la clé.
chintan, malheureusement .toString na pas aider. amit, savez-vous si la valeur est null dans SecondActivity avant de passer
Journal.v("TAG", données.getStringExtra("Note"));
essayez de .toString dans les deux cas , vous obtenez
null
Vous obtenez "null", lors de l'extraction de données avec une "Note" de la clé.
chintan, malheureusement .toString na pas aider. amit, savez-vous si la valeur est null dans SecondActivity avant de passer
OriginalL'auteur timeshift117 | 2013-12-26
Vous devez vous connecter pour publier un commentaire.
Essayer ce-
lorsque vous mettez en valeur "SecondActivity" de la classe, le faire de cette façon - returnIntent.putExtra("Note",mainTextField.getText().toString());
ouai je l'ai juste essayé, c'est comment il est maintenant, ne fonctionne toujours pas, je sais aussi que ce journal déclaration imprime la chaîne de droite de la zone de texte, j'ai vérifié. Theres quelque chose de mal avec l'Intention renvoyé à onActivityResult
oui! a finalement obtenu ce travail, j'ai déménagé à l'appel à la super-classe, super.onBackPressed(); après tout, et il a commencé à travailler
Dans le cas où il aide à quelqu'un d'autre le long du chemin, mon très similaires problème est venu quand j'ai utilisé le même onActivityResult, qui ont mis à jour un TextView avec un nouveau nom d'utilisateur, dans 3 Activités différentes. Il a travaillé dans deux des activités, mais j'ai eu cette erreur dans le 3ème. Mon problème est survenu parce que j'avais oublié d'ajouter le TextView dans la 3ème activité qui a été la cause d'une exception de pointeur null dans la OnActivityResult, plutôt que le retour d'être réellement le problème. Alors qu'il n'était pas la réponse pour moi, la discussion ici m'a aidé à trouver ma solution.
OriginalL'auteur amit singh
Le problème avec moi c'est que j'ai utilisé getIntent(), obtenant ainsi le but de l'activité en cours, j'ai été sur.
Quand je suis passé à de données.getStringExtra() il a travaillé. Amateur erreur...
OriginalL'auteur gigo