Sélectionnez l'Image à partir de la galerie Android Fragment
Je veux sélectionner la galerie de l'intention du fragment.lorsque l'utilisateur choisit l'option pour sélectionner une image à partir de la galerie puis de la galerie s'ouvre et immédiatement onActivityResult de fragment est appelé.et lorsque l'utilisateur de choisir l'image puis onActivityResult() n'est pas appelée.Je ne suis donc pas en mesure de sélectionner une image à partir de la galerie.
Belo est mon code pour ouvrir la galerie -
Intent intent = new Intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
intent.setType("video/, images/");
startActivityForResult(intent, 2);
et voici mon onActivityResult-
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
Log.d(TAG, "onActivityResult"); //not printed
Toast.makeText(mContext, "aaaa"+requestCode, Toast.LENGTH_SHORT).show();
}
Quel est le problème dans mon code.
Merci d'avance.
êtes-vous sûr que vous pouvez démarrer une activité de résultat à partir d'un fragment sans l'aide d'une référence à l'activité? Je pense que vous devez attraper l'activité résultat dans le démarrage de l'activité.
Oui, je suis en utilisant le même code dans certains autres fragment et il fonctionne très bien.Aussi vous êtes en droit d'abord activité parent onActivityResult et puis fragment onActivityResult est appelée, mais les deux sont appelés lorsque la galerie est ouverte.
Qu'advient-il si vous vérifiez d'abord la requestcode?
Lorsque je clique sur le bouton pour l'ouvrir puis passage de demande de code 2 comme mentionné dans ma question,une fois que le bouton cliquez sur la galerie s'ouvre et tout à coup onActivityresult appelé avec requestcode 2 et responsecode 0.
Oui, je suis en utilisant le même code dans certains autres fragment et il fonctionne très bien.Aussi vous êtes en droit d'abord activité parent onActivityResult et puis fragment onActivityResult est appelée, mais les deux sont appelés lorsque la galerie est ouverte.
Qu'advient-il si vous vérifiez d'abord la requestcode?
Lorsque je clique sur le bouton pour l'ouvrir puis passage de demande de code 2 comme mentionné dans ma question,une fois que le bouton cliquez sur la galerie s'ouvre et tout à coup onActivityresult appelé avec requestcode 2 et responsecode 0.
OriginalL'auteur Ravi Bhandari | 2014-11-05
Vous devez vous connecter pour publier un commentaire.
L'utiliser pour ouvrir android image sélecteur:
et pour
onActivityResult
utiliser ceci:OriginalL'auteur amit kumar
# Je vous montre un exemple dans lequel j'ai utilisé une ImageView pour afficher une image résultat .Il existe deux méthodes utilisées 1.À partir de la caméra et 2.À partir de la carte SD #
OriginalL'auteur
utiliser ce code pour choisir l'image,
Puisque l'Activité est le résultat de onActivityResult(), vous devrez remplacer l'activité onActivityResult() et d'appeler super.onActivityResult() pour se propager à l'fragment de non gérée résultats de codes ou pour tous.
maintenant vérifier ma réponse
merci pour la mise à jour mais toujours face au même problème.
OriginalL'auteur Akash Moradiya
Pour aider d'autres personnes qui sont aux prises avec ce problème, je vous suggère les suivantes:
1. Le mode de lancement de votre fragment de l'activité
si le mode de lancement de votre activité est "l'instance unique"
dans ce cas, la onActivityResult sera appelé automatiquement lorsque vous quittez l'activité et va à l'activité où vous êtes censé prendre l'image. Cela est vrai pour la caméra intention aussi. Essayez de changer votre mode de lancement de "singleTop" ou quoi que ce soit comme une alternative à la mode de lancement que vous avez en ce moment. De cette façon ce qui va se produire que votre activityOnResult sera appelée que lorsque vous avez terminé la cueillette de l'image. Aussi le résultat sera de retour pour le fragment seulement de l'endroit où vous l'avez appelé le startActivityForResult. Je vous suggère d'envisager de mettre en œuvre la dialogueFragment pour donner l'option à l'utilisateur de choisir l'image ou cliquez sur l'image
2. Comment avez-vous appelé le startActivityForResult
Son une autre chose intéressante, si vous appelez votre startActivityResult de fragment, en utilisant le contexte du fragment, le résultat sera renvoyé sur le fragment, mais si vous l'appelez à l'aide du fragment contexte d'activité comme getActivity().startActivityResult le résultat sera transmis à la maison mère fragment de l'activité. Donc, cela dépend de vous, où vous voulez gérer.
Autre chose importante, faire appel de la
dans votre méthode, où vous obtenez le résultat.
Autre que ces derniers, essayez de suivre la suggestion que les autres a fourni pour la cueillette de l'image à l'aide de la bonne intention.
OriginalL'auteur Ankush Sharma