0

What is wrong with this code? I've got NumberFormatException. Invalid int: "" Everything looks correctly but I don't know am I doing my EditTexts correctly. Any help is welcome.

public class Wyslij extends Activity {

    EditText et_nazwa;
    EditText et_nip;
    EditText et_adres;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.wyslij);

        et_nazwa = (EditText) findViewById(R.id.et_nazwa);
        et_nip = (EditText) findViewById(R.id.et_nip);            
        et_adres = (EditText) findViewById(R.id.et_adres);
        ib_wyslij = (ImageButton) findViewById(R.id.ib_wyslij);

        String nazwa_firmy = et_nazwa.getText().toString();

        String nip_firmowy = et_nip.getText().toString();
        int nip_firmy = Integer.valueOf(nip_firmowy);

        String adres_firmy = et_adres.getText().toString();

        final Zamowienie zam = new Zamowienie();

        zam.klient.nazwa = nazwa_firmy;
        zam.klient.nip = nip_firmy;
        zam.klient.adres = adres_firmy;

        String suma_zamowienia = podaj_sume(TowarZamowienie.towary_zamowione);
        int suma_zam = Integer.valueOf(suma_zamowienia);
        zam.suma=suma_zam;
    }
}
Bex
  • 2,675
  • 1
  • 33
  • 33

2 Answers2

1
    public class Wyslij extends Activity {

        EditText et_nazwa;
        EditText et_nip;
        EditText et_adres;
    int suma_zam;
    int nip_firmy;


        @Override
        protected void onCreate(Bundle savedInstanceState) {
            // TODO Auto-generated method stub
            super.onCreate(savedInstanceState);
            setContentView(R.layout.wyslij);

            et_nazwa = (EditText) findViewById(R.id.et_nazwa);
            et_nip = (EditText) findViewById(R.id.et_nip);            
            et_adres = (EditText) findViewById(R.id.et_adres);
            ib_wyslij = (ImageButton) findViewById(R.id.ib_wyslij);

            String nazwa_firmy = et_nazwa.getText().toString();
           String nip_firmowy = et_nip.getText().toString();
     if(nip_firmowy != null && !nip_firmowy.equalsIgnoreCase(""){
           nip_firmy  = Integer.parseInt(nip_firmowy); 
            String adres_firmy = et_adres.getText().toString();

            final Zamowienie zam = new Zamowienie();

            zam.klient.nazwa = nazwa_firmy;
if(nip_firmy != null){
            zam.klient.nip = nip_firmy;
}
if(adres_firmy != null){
            zam.klient.adres = adres_firmy;
    }
        }


            String suma_zamowienia = podaj_sume(TowarZamowienie.towary_zamowione);
            if(suma_zamowienia != null && !suma_zamowienia.equalsIgnoreCase(""){

            suma_zam = Integer.parseInt(suma_zamowienia);
                zam.suma=suma_zam;}


        }
    }
Mayank Saini
  • 2,957
  • 22
  • 25
0

I believe there is a white space when you are fetching value from EditText. So before you convert the string value to integer you need to trim the white space like below,

String nip_firmowy = et_nip.getText().toString().trim();   // use trim here
int nip_firmy = Integer.parseInt(nip_firmowy);  // use parseInt() method
user3291365
  • 445
  • 3
  • 14