Domanda

ho implementato galleryview in una schermata denominata display_image.xml in cui ho mostrato varie immagini disponibili su sdcard ora quando l'utente seleziona l'immagine e preme il pulsante salva immagine sullo stesso schermo display_image.xml quindi l'immagine selezionata dovrebbe essere cambiata nel suo / leiimmagine del profilo in un'altra schermata.

La mia domanda è come potrei ottenere quell'immagine da uno schermo per cambiare l'immagine dell'utente in un altro schermo e quell'immagine selezionata dovrebbe anche essere inserita nel database per un successivo recupero quando l'utente accede in seguito.Lascia che ti dica che la mia immagine non proviene da nessun servizio web.

Per favore aiutami ......... Ringraziandoti .........

È stato utile?

Soluzione 3

La prima cosa che devi fare è dichiarare un intento

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

e usa startActivityForResult(i_cp, 111); che cercherà dei risultati. nel nostro caso per la posizione dell'immagine; un valore intero.

specificando request_code (111) che verrà utilizzato per identificare il risultato quando restituito dall'intento avviato. Qui non useremo setAction(i_cp.ACTION_PICK); e setType("image/*"); perché non restituiremo l'immagine, ma restituiremo solo la posizione dell'immagine. Il nostro uso di Intent sarà limitato al solo passaggio e recupero del valore intero (posizione del valore).

Ora che ne dici di ottenere quella posizione dell'immagine che l'utente ha selezionato. la posizione è ottenuta nel metodo onItemClick di GalleryView da uno dei parametri

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

ora dichiara una variabile come int pos; e assegna -1 per identificare se l'immagine è selezionata o meno e se l'immagine è selezionata quindi nell'evento onclick del pulsante salva l'immagine passa la posizione del valore come

retIntent.putExtra("SelectedImage", pos);

e in onActivityForResult identifica l'intento in base al codice di richiesta passato ed estrai quella posizione come

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

e impostalo come

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

e questo array di foto [] che contiene tutti gli ID delle immagini archiviate in una delle cartelle res/drawable della tua applicazione, dichiaralo come

public static Integer[] pics={values};

Altrimenti non sarai in grado di impostare l'immagine.

Altri suggerimenti

Puoi farlo in due modi: 1) Passa il percorso della scheda SD dell'immagine selezionata e carica direttamente quell'immagine dal percorso in Imageview. 2) puoi convertire l'immagine in byte [] e passare byte [] e recuperare l'immagine.

Spero che tu mi prenda. Buona fortuna

Utilizza " activityForResult ".
Il concetto è iniziare la tua immagine scegliendo l'attività chiamando

startActivityForResult(INTENT_OF_YOUR_IMAGECHOOSING_ACTIVITY);

Ora in questa attività, quando l'utente fa clic su una qualsiasi delle immagini gestisci quell'evento come segue:
alcuni OnClick(){<br>Intent resultIntent = new Intent(); in questo intento imposta l'array di byte della tua immagine in extra OPPURE il percorso della scheda SD della tua immagine

quindi chiama setResult(RESULT_OK, resultIntent);


Questo restituirà la chiamata all'attività precedente nel metodo onActivityResult(int resultCode, ..., Intent data) QUI usa i dati come intento per recuperare le informazioni che ti servono

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top