Question

Je l'ai mis en œuvre dans GalleryView un écran nommé display_image.xml dans lequel je l'ai montré différentes images disponibles sur sdcard maintenant, quand l'image de l'utilisateur et presse bouton Enregistrer l'image sur un même écran display_image.xml alors l'image sélectionnée doit être changé dans son / sa photo de profil dans un autre écran.

Ma question est que comment pourrais-je être en mesure d'obtenir cette image d'un écran à l'image de changement d'utilisateur dans un autre écran et que l'image sélectionnée devrait également insérée dans la base de données pour plus tard retrival lorsque l'utilisateur se connecte plus tard. Permettez-moi de vous dire que mon image ne viennent de toute webservice.

S'il vous plaît, aidez-moi ......... ......... Vous Remerciant

Était-ce utile?

La solution 3

La première chose que vous devez faire est de déclarer une intention

Intent i_cp = new Intent(this,ImagePicker.class);

et l'utilisation startActivityForResult(i_cp, 111); qui sera à la recherche d'un résultat. dans notre cas pour la position de l'image; une valeur entière.

en spécifiant Request_Code (111) qui sera utilisé pour identifier les résultats quand ils sont retournés intentionnellement commencé. nous ne retournerons pas ici utilisons setAction(i_cp.ACTION_PICK); et setType("image/*"); parce que nous n'allons pas à l'image de retour, nous allons simplement revenir à la position de l'image. Notre utilisation d'intention sera limitée à passer et la récupération de la valeur entière (position de la valeur).

Maintenant que diriez-vous d'obtenir cette position de l'image que l'utilisateur a sélectionné. position est obtenu dans la méthode onItemClick de GalleryView par l'un des paramètres

public void onItemClick(AdapterView parent, View v, int position,long rid)

déclarer maintenant une variable comme int pos; et assign -1 pour déterminer si l'image est sélectionnée ou non et si l'image est sélectionnée puis en cas de onclick bouton SaveImage position de la valeur de passage comme

retIntent.putExtra("SelectedImage", pos);

et onActivityForResult identifier l'intention de passer requestcode et extrait cette position comme

int pos = data.getExtras().getInt("SelectedImage");

et défini comme

usr_im.setImageResource(ImagePicker.pics[pos]);

et ce tableau de photos [] qui contient toutes ids d'images stockées dans l'un des dossier res/drawable de votre application, déclarer comme

public static Integer[] pics={values};

Sinon, vous ne pourrez pas définir l'image.

Autres conseils

Vous pouvez le faire de deux manières: 1) Faire passer le chemin de la carte SD de l'image sélectionnée et le charger directement à partir de cette image en chemin imageview. 2) vous pouvez convertir l'image à byes [] et octets qui passe [] et retourner l'image.

Hope u me chercher. Bonne chance

Utilisez " activityForResult ." Concept est de commencer votre image activité choisir en appelant

startActivityForResult(INTENT_OF_YOUR_IMAGECHOOSING_ACTIVITY);

Dans cette activité, lorsque l'utilisateur clique sur l'un de la poignée d'images de cet événement comme suit: certains OnClick(){<br>Intent resultIntent = new Intent(); dans ce tableau ensemble d'octets intention de votre image dans les extras ou le chemin de la carte SD de votre image

puis setResult(RESULT_OK, resultIntent); appel


Ça va retourner l'appel à l'activité précédente dans la méthode onActivityResult(int resultCode, ..., Intent data) ICI utiliser les données que l'intention de chercher les informations dont vous avez besoin

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top