2012-12-27 63 views
1

我正在使用Android應用程序,我有5個編輯文本和1個按鈕,用於對這些編輯文本中的整數進行求和。有時用戶可以讓幾個編輯文本空白。問題是,當用戶把它放空時,會出現異常,我沒有任何想法來處理它。這些是我的代碼在編輯文本中沒有填充整數時避免發生異常

try 
    { 
     if (qty1 != null) 
     { 
      int jml1 = Integer.parseInt(qty1.getText().toString()); 
      item1 = hrg1 * jml1; 
     } 
     else 
     { 
      qty1.setText("0"); 
     } 
     if (qty2 != null) 
     { 
      int jml2 = Integer.parseInt(qty2.getText().toString()); 
      item2 = hrg2 * jml2; 
     } 
     else 
     { 
      qty2.setText("0"); 
     } 
     if (qty3 != null) 
     { 
      int jml3 = Integer.parseInt(qty3.getText().toString()); 
      item3 = hrg3 * jml3; 
     } 
     else 
     { 
      qty3.setText("0"); 
     } 
     if (qty4 != null) 
     { 
      int jml4 = Integer.parseInt(qty4.getText().toString()); 
      item4 = hrg4 * jml4; 
     } 
     else 
     { 
      qty4.setText("0"); 
     } 
     if (qty5 != null) 
     { 
      int jml5 = Integer.parseInt(qty5.getText().toString()); 
      item5 = hrg5 * jml5; 
     } 
     else 
     { 
      qty5.setText("0"); 
     } 
int hasil = item1 + item2 + item3 + item4 + item5; 
     Toast.makeText(getApplicationContext(), "Berhasil", Toast.LENGTH_LONG).show(); 
     total.setText(String.valueOf(hasil)); 
    } 
    catch(Exception e) 
    { 
     Toast.makeText(getApplicationContext(), "Quantity can't be empty. Please type item quantity", Toast.LENGTH_LONG).show(); 
    }  

我試圖把條件與如果但它沒有多大幫助。謝謝。

回答

4

試試這個,

if (qty1.getText().toString() != null && !(qty1.getText().toString().equals(""))) 
     { 
      int jml1 = Integer.parseInt(qty1.getText().toString()); 
      item1 = hrg1 * jml1; 
     } 

代替,

if (qty1 != null) 
     { 
      int jml1 = Integer.parseInt(qty1.getText().toString()); 
      item1 = hrg1 * jml1; 
     } 

這種情況如果(qty1 != null)檢查,如果你的EDITTEXT爲空,但它不檢查其中包含的數據。

對所有其他editText值重複相同的操作。

+0

謝謝,這是非常有幫助的。但是,你能告訴這個代碼前面的驚歎號嗎!!(qty1.getText()。toString()。equals(「」))'? –

+0

它相當於「不」。這只是意味着「如果這不是條件」,那麼就進行操作,如果不跳過它。 –

+0

非常感謝。 –

1

如果qty1是yout編輯文本,那麼你需要從你的edittext中獲取字符串來檢查它是否是null

所以更改所有edittexts代碼,這樣

if (qty1.getText().toString() != null && qty1.getText().toString().equals("")) 
    { 
     int jml1 = Integer.parseInt(qty1.getText().toString()); 
     item1 = hrg1 * jml1; 
    } 
    else 
    { 
     qty1.setText("0"); 
    } 
1

把這個條件

String s1= qty5.getText().toString().trim(); 

if(TextUtils.isEmpty(s1)) ///// isEmpty() <----- 
{ 
// error message 
} 
else 
{ 
// your code 
}