android数字格式异常

android数字格式异常,android,android-dialog,numberformatexception,Android,Android Dialog,Numberformatexception,我得到以下例外 java.lang.NumberFormatException:无效的int:“ 当您试图将值存储到共享首选项中,而输入字段中未插入任何内容时,就会发生这种情况。这是因为我正在将输入解析为int(因为我需要对图进行减法) 这不是什么大问题,因为该应用程序可以正常工作,但是如果有人想使用该应用程序,请尝试在不输入任何数据的情况下按“保存”按钮,我不希望插入任何数据 我尝试了以下方法: else if (obj ==null || obj.currentWeight.contains

我得到以下例外

java.lang.NumberFormatException:无效的int:“

当您试图将值存储到共享首选项中,而输入字段中未插入任何内容时,就会发生这种情况。这是因为我正在将输入解析为int(因为我需要对图进行减法)

这不是什么大问题,因为该应用程序可以正常工作,但是如果有人想使用该应用程序,请尝试在不输入任何数据的情况下按“保存”按钮,我不希望插入任何数据

我尝试了以下方法:

else if (obj ==null || obj.currentWeight.contains("")||obj.targetWeight.contains("")){
            AlertDialog.Builder builder = new AlertDialog.Builder(
                    MainActivity.this);
            builder.setTitle("No Data Stored");
            builder.setMessage("Please insert your target weight and your current weight and click Store Weight")
            .setPositiveButton("OK", null).show();
从我所能看出的情况来看,如果我遵守上述声明

else if (obj ==null){
然后,如果插入空值,对话框将打开并显示一条消息

我得到了数字格式异常


任何帮助都将不胜感激

一般来说,异常处理是解决这种不希望出现的行为的好方法:

if( obj != null && obj.getTargetWeight() != null ) {
 try {
  int i = Integer.parseInt( obj.getTargetWeight() );
  //do something if target weight is a number
 } catch( NumberFormatException ex ) {
   //do something if target weight was not a number.
 }
}

---编辑为精确的异常类型

此处的targetWeight是什么?targetWeight和当前权重是编辑文本int targetWeight=Integer.parseInt(obj.targetWeight)中的int;这一行是您的问题:targetWeight可以为null或emptyyup。我明白这是个问题,但我怎样才能解决这个问题呢?