2014-02-19 21 views
0

我對Android的功能,其中它得到由TextView返回的值是 totalcost_venuetotalcost_appareltotalcost_souvenirtotalcost_caterer的TextView不返回任何Android的

將該值轉換爲double,之後我必須添加這些值。但是當特定的TextView沒有返回任何值時,我遇到了一個錯誤。任何幫助都可以。謝謝!如果臨危空值

double totalcost_venue_finalconverted = Double.parseDouble(totalcost_venue.getText().toString()); 
double totalcost_apparel_finalconverted = Double.parseDouble(totalcost_apparel.getText().toString()); 
double totalcost_caterer_finalconverted = Double.parseDouble(totalcost_caterer.getText().toString()); 
double totalcost_souvenir_finalconverted = Double.parseDouble(totalcost_souvenir.getText().toString()); 

double total = (totalcost_venue_finalconverted + totalcost_apparel_finalconverted + totalcost_caterer_finalconverted +totalcost_souvenir_finalconverted); 

String total_all= Double.toString(total); 

totalcost_all.setText(total_all); 
String totalcost_final = totalcost_all.getText().toString(); 

double budget_converted = Double.parseDouble(budget_event); 
double totalcost_converted = Double.parseDouble(totalcost_final); 

if(budget_converted <= totalcost_converted){ 
       registerErrorMsg.setText(" Oops!! Already exceeded"); 
+0

,以一個NULL值,解決您的問題,您可以添加以下檢查? – Peshal

+0

這些是我的Logcat中的錯誤 02-19 13:04:45.185:E/AndroidRuntime(9456):致命例外:主 02-19 13:04:45.185:E/AndroidRuntime(9456):java.lang .NumberFormatException:無效的雙精度:「」 02-19 13:04:45.185:E/AndroidRuntime(9456):\t at java.lang.StringToReal.invalidReal(StringToReal.java:63) 02-19 13:04:45.185 :E/AndroidRuntime(9456):\t at java.lang.StringToReal.parseDouble(StringToReal.java:248) 02-19 13:04:45.185:E/AndroidRuntime(9456):\t at java.lang.Double.parseDouble (Double.java:295) – user3319349

+0

yup看起來像缺少驗證,您應該檢查該字段是否爲空,並且在嘗試解析爲double之前該字段是否具有double值。 – Peshal

回答

0

Double.parseDouble()可能會拋出異常,或者是臨危文本。什麼異常,你越來越

double totalcost_venue_finalconverted = 0; 

if(!totalcost_venue.getText().toString().equals("")){ 
    totalcost_venue_finalconverted = Double.parseDouble(totalcost_venue.getText().toString()); 
} 
+0

如果返回的textview爲空,我該怎麼辦? @Matt Clark – user3319349

+0

我不知道......你想做什麼?如果該字段留空,上面將設置值爲0。 –

+0

謝謝!這行得通!! – user3319349