Android, conversion

Résolu
Pepito39 Messages postés 91 Date d'inscription   Statut Membre Dernière intervention   -  
Pepito39 Messages postés 91 Date d'inscription   Statut Membre Dernière intervention   -
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 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
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   Statut Membre Dernière intervention   1
 
En effet, c'est bien du à ça! Merci bien! :)
0