这段代码有什么问题?我有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;
}
}
答案 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