Android 如果字符串值为空,则应用程序强制关闭
如果字符串有值,我的代码就可以正常工作。但是,如果字符串为null,则会发生应用程序强制关闭。如何处理空字符串值?请帮帮我Android 如果字符串值为空,则应用程序强制关闭,android,Android,如果字符串有值,我的代码就可以正常工作。但是,如果字符串为null,则会发生应用程序强制关闭。如何处理空字符串值?请帮帮我 String value; int value1; String completedate; e01 = (Button) findViewById(R.id.e01); case R.id.e01: value = e01.getText().toString(); if (value != null) {
String value;
int value1;
String completedate;
e01 = (Button) findViewById(R.id.e01);
case R.id.e01:
value = e01.getText().toString();
if (value != null) {
value1 = Integer.parseInt(value);
completedate = String.format("%02d", value1)
+ String.format("%02d", mMonth)
+ mYear;
Toast.makeText(this, url +completedate, Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this, "Date not Available",
Toast.LENGTH_SHORT).show();
// string is Null......
}
break;
这就是问题所在
假设按钮的文本为”
(无文本)。当value=e01.getText().toString()时调用code>,value
现在的值为”
(空字符串,非空)。
因此,它满足if
条件。然后,它尝试将“
解析为整数
,这将为您提供一个NumberFormatException
,然后强制关闭您的应用程序
value=e01.getText().toString();
if(value!=null){
value1 =Integer.parseInt(value);
如果确定按钮的文本为整数,则只需将If条件更改为
if(!value.equals(""))
但是,如果按钮的文本可能是一些非整数值,请使用try catch
块
try{
value1 =Integer.parseInt(value);
// parsed successfully
completedate= String.format("%02d", value1) + String.format("%02d",
mMonth) +mYear;
Toast.makeText(this, url +completedate, Toast.LENGTH_SHORT).show();
}catch(NumberFormatException e){
// value cannot be parsed to an integer
Toast.makeText(this, "Date not Available",
Toast.LENGTH_SHORT).show();
}
那代码不可读。你应该编辑它。爆炸是什么意思。?具体说明您面临的问题应用武力close@user2659385张贴堆栈跟踪,请格式化您的代码。您好,请更具体地说明您的问题,否则我们无法帮助。干杯我确实让他试着回答与这个问题相关的前一个问题