NumberFormatException的

时间:2014-02-10 12:48:09

标签: android int

这段代码有什么问题?我有NumberFormatException。无效的int:“” 一切看起来都正确,但我不知道我正在做我的EditTexts。欢迎任何帮助。

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;
    }
}

2 个答案:

答案 0 :(得分: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;}


        }
    }

答案 1 :(得分:0)

我相信从EditText获取值时会有一个空格。因此,在将字符串值转换为整数之前,您需要修剪下面的空白区域,

String nip_firmowy = et_nip.getText().toString().trim();   // use trim here
int nip_firmy = Integer.parseInt(nip_firmowy);  // use parseInt() method