Android, conversion

Résolu/Fermé
Pepito39 Messages postés 91 Date d'inscription mercredi 15 mai 2013 Statut Membre Dernière intervention 21 mars 2014 - 1 juin 2013 à 14:42
Pepito39 Messages postés 91 Date d'inscription mercredi 15 mai 2013 Statut Membre Dernière intervention 21 mars 2014 - 1 juin 2013 à 15:16
Bonjour,

J'ai un soucis au niveau d'une conversion en entier, voici le message d'erreur : -java.lang.NumberFormatExeption: Invalid int ""

Si quelqu'un à une solution à ce problème.. :)
Voici le code où le logcat detecte l'erreur :
public class AjoutActivity extends MainActivity {
	clientBDD clibdd = new clientBDD(this);
	Button ajouter;
    EditText nom;
	EditText prenom;
	EditText adresse;
	EditText cp;
	EditText ville;
	EditText mail;
	EditText tel;
	EditText pizzaencours;
	EditText pizzatotal;
	String strNom;
	String strPrenom;
	String strAdresse;
	String strCp;
	String strVille;
	String strMail;
	String strTel;
	int ipizzaencours;
	int ipizzatotal;
	
	
	
	protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.formulaire_ajout);
        
        
        
        nom = (EditText)findViewById(R.id.EtNom);
        prenom = (EditText)findViewById(R.id.EtPrenom);
        adresse = (EditText)findViewById(R.id.EtAdresse);
        cp = (EditText)findViewById(R.id.EtCp);
        ville = (EditText)findViewById(R.id.EtVille);
        mail = (EditText)findViewById(R.id.EtMail);
        tel = (EditText)findViewById(R.id.EtTel);
        ajouter=(Button)findViewById(R.id.ajouter);
        pizzaencours = (EditText)findViewById(R.id.EtNbpizza);
        pizzatotal = (EditText)findViewById(R.id.EtTotalpizza);
        strNom=nom.getText().toString();
        strPrenom=prenom.getText().toString();
        strAdresse=adresse.getText().toString();
        strCp=cp.getText().toString();
        strVille=ville.getText().toString();
        strMail=mail.getText().toString();
        strTel=tel.getText().toString();
        ipizzaencours=Integer.parseInt(pizzaencours.getText().toString());
        ipizzatotal=Integer.parseInt(pizzatotal.getText().toString());
        
        ajouter.setOnClickListener(ajouterListener);
	}
        private OnClickListener ajouterListener = new OnClickListener() {
        	public void onClick(View v){
        		if(v==ajouter)
        		{
        		clibdd.open();
        		client cli = new client(strNom, strPrenom, strAdresse, strCp, strVille, strMail, strTel, ipizzaencours, ipizzatotal);
        		clibdd.insertClient(cli);
        		clibdd.close();
        		}
        	}
        };
        


Merci d'avance :)
A voir également:

1 réponse

KX Messages postés 16736 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 17 mai 2024 3 015
Modifié par KX le 1/06/2013 à 15:26
Ton erreur est sur l'une des ces deux lignes :

ipizzaencours=Integer.parseInt(pizzaencours.getText().toString());
ipizzatotal=Integer.parseInt(pizzatotal.getText().toString());

pizzaencours ou pizzatotal a pour valeur "" il est donc impossible de le transformer en entier puisque ce n'en est pas un, d'où l'exception.

Il faut que tu contrôles ce genre d'erreurs, soit avec un try/catch pour récupérer l'erreur a posteriori, soit en testant a priori la validité de la valeur.

try
{
    ipizzaencours=Integer.parseInt(pizzaencours.getText().toString());
}
catch (NumberFormatException e)
{
    System.err.println("Pas un entier");
}

if (pizzatotal.getText().matches("[0-9]{1,9}"))
    ipizzatotal=Integer.parseInt(pizzatotal.getText().toString());
else
    System.err.println("Pas un entier");

La confiance n'exclut pas le contrôle
0
Pepito39 Messages postés 91 Date d'inscription mercredi 15 mai 2013 Statut Membre Dernière intervention 21 mars 2014 1
1 juin 2013 à 15:16
En effet, c'est bien du à ça! Merci bien! :)
0