我正在創建一個應用程序,用戶必須輸入有關self.First名稱,第二個名稱,城市和數量的基本信息,他或她希望訂購。如果他或她跳過一個字段的吐司會彈出消息字段被跳過。這是ok.That的作品,但如果他跳過數量字段我我的手機上有錯誤,並將其發送回用戶先前activity.When我檢查我的logcat我看到錯誤消息java.lang.NumberFormatException:無效的int:「」錯誤android
java.lang.NumberFormatException: Invalid int: 「」 error
現在我知道這是爲什麼消息出現。因爲它預計會發現整數,如果是statment。但實際上找到了String。但不知道如何解決最後後援的if/else statemen是一個問題:
現在我試過到目前爲止:
1) Tried to set primitive int as object Integer
2)Tried to use kolicina==0;
3)Tried to use kolicina.equals(null)/kolicina.equals(0);
4)Tried to use .isEmty();
我的代碼:
package com.dsk.android.decijisvetknjiga;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.text.Html;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
public class Narudzbina extends AppCompatActivity {
String porukaGreska="";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.narudzbina);
}
public boolean praznoPolje(EditText et){
return (et != null && (et.equals("") || et.equals(" ")));
}
public void kreiranjeNarudzbine(View v) {
EditText editTextIme = (EditText) findViewById(R.id.ime);
String imeNarucioca = editTextIme.getText().toString();
praznoPolje(editTextIme);
EditText editTextPrezime = (EditText) findViewById(R.id.prezime);
String prezimeNarucioca = editTextPrezime.getText().toString();
praznoPolje(editTextIme);
EditText editTelefonNarucioca = (EditText) findViewById(R.id.telefon);
String telefonNarucioca = editTelefonNarucioca.getText().toString();
praznoPolje(editTelefonNarucioca);
EditText editAdresaNarucioca = (EditText) findViewById(R.id.adresa);
String adresaNarucioca = editAdresaNarucioca.getText().toString();
praznoPolje(editAdresaNarucioca);
EditText editGradNarucioca = (EditText) findViewById(R.id.grad);
String gradNarucioca = editGradNarucioca.getText().toString();
praznoPolje(editGradNarucioca);
EditText editKolicina = (EditText) findViewById(R.id.kolicina);
String narucenaKolicina = editKolicina.getText().toString();
int kolicina = Integer.parseInt(narucenaKolicina);
praznoPolje(editKolicina);
int cenaNarudzbine = cena(kolicina);
String poruka = sumiranjeNarudzbine(imeNarucioca, prezimeNarucioca, telefonNarucioca, adresaNarucioca, gradNarucioca, cenaNarudzbine);
Intent smsIntent = new Intent(Intent.ACTION_VIEW);
smsIntent.setType("vnd.android-dir/mms-sms");
smsIntent.putExtra("address", "+1111111");
smsIntent.putExtra("sms_body", poruka);
if(imeNarucioca!=null && imeNarucioca.equals("")){
Toast.makeText(Narudzbina.this, "Unesite ime", Toast.LENGTH_LONG).show();
}
else if(prezimeNarucioca!=null && prezimeNarucioca.equals("")){
Toast.makeText(Narudzbina.this,"Unesite Prezime", Toast.LENGTH_LONG).show();
}
else if(telefonNarucioca!=null && telefonNarucioca.equals("")){
Toast.makeText(Narudzbina.this,"Unesite kontakt telefon", Toast.LENGTH_LONG).show();
}
else if(adresaNarucioca!=null && adresaNarucioca.equals("")){
Toast.makeText(Narudzbina.this,"Unesite adresu",Toast.LENGTH_LONG).show();
}
else if(gradNarucioca!=null && gradNarucioca.equals("")){
Toast.makeText(Narudzbina.this, "Navedite grad", Toast.LENGTH_LONG).show();
}
else if(narucenaKolicina!=null && narucenaKolicina.equals("")){
Toast.makeText(Narudzbina.this, "Navedite zeljenu kolicinu", Toast.LENGTH_LONG).show();
}
else{
startActivity(smsIntent);
}
}
英語不是我的母語對拼寫錯誤或對此問題缺乏清晰度表示歉意,如果有必要,我很樂意解釋它。
'「」'< - 這是narucenaKolicina的'實際值'?如果是這樣,那麼這是你的問題。這些看起來像一些UTF字符,當然沒有數字。 – Turing85