Aller au contenu

Soucis d'envoie de mail contenant des Strings


Andioze

Recommended Posts

Bonjour à tous,

 

Je développe actuellement ma première application Android, pour une entreprise de Ressources Humaines, dans la quelle je dois créer un formulaire (composé de 4 editTexts, et d'une jonction de pièce jointe, le tout retranscrit dans un mail envoyé à l'entreprise).

 

Mais voilà, j'ai essayé de remplire des Strings à partir des saisies faites dans les edits, et ce sans succés.

 

Voici le code : 

package com.example.rhautomotive;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;

public class GestionCV extends Activity 
{
	
	static String nom;
	static String adresse;
	static String tel;
	static String adresse_mail;
	static String save;
	
	@Override
	  	public void onCreate(Bundle savedInstanceState) 
		{
	    	super.onCreate(savedInstanceState);
	    	setContentView(R.layout.layout_example);

	    	EditText name = (EditText) findViewById (R.id.editText1);
	    	nom = name.getText().toString();
	    	EditText adress = (EditText) findViewById (R.id.editText2);
	    	adresse = adress.getText().toString();

	    	EditText phone = (EditText) findViewById (R.id.editText3);
	    	tel = phone.getText().toString();

	    	EditText mail = (EditText) findViewById (R.id.editText5);
	    	adresse_mail = mail.getText().toString();
		}
	
	public void jonction(View v)
	{
		Intent emailIntent = new Intent(Intent.ACTION_SEND);
		String[] recipients = new String[]{"contact@rhplus-automotive.com", "",};
		emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, recipients);
		emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Contact via Application : CV");
		emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "Madame, Monsieur\n\n"+nom+adresse+tel+adresse_mail+"Cordialement,");
		emailIntent.setType("text/plain");
		startActivity(Intent.createChooser(emailIntent, "Send mail..."));	
	}

Merci d'avance ! :)

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

Effectivement, ça ne peut pas marcher, car tu récupères le contenu des champs de saisie dans la méthode onCreate, méthode qui est appelée lors de la création de l'Activity, avant qu'elle ne soit affichée, et donc avant que l'utilisateur ait eu la possibilité de saisir quoi que ce soit.

Cela marchera mieux si tu le fais dans la méthode jonction, qui, je suppose, est appelée lors d'un clic sur un bouton, lorsque l'utilisateur a saisi les informations

Quelque chose comme cela serait plus approprié:

public class GestionCV extends Activity 

{

    private EditText name, adress, phone, mail;
   

    @Override

         public void onCreate(Bundle savedInstanceState)

        {

         super.onCreate(savedInstanceState);

         setContentView(R.layout.layout_example);



         name = (EditText) findViewById (R.id.editText1);

         adress = (EditText) findViewById (R.id.editText2);

         phone = (EditText) findViewById (R.id.editText3);

         mail = (EditText) findViewById (R.id.editText5);

        }

    

    public void jonction(View v)

    {
        String nom = name.getText().toString();

        String adresse = adress.getText().toString();

        String tel = phone.getText().toString();

        String adresse_mail = mail.getText().toString();


        Intent emailIntent = new Intent(Intent.ACTION_SEND);

        String[] recipients = new String[]{"contact@rhplus-automotive.com", "",};

        emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, recipients);

        emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Contact via Application : CV");

        emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "Madame, Monsieur\n \n"+nom+adresse+tel+adresse_mail+"Cordialement,");

        emailIntent.setType("text/plain");

        startActivity(Intent.createChooser(emailIntent, "Send mail..."));    

    }
Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...