java.lang.NumberFormatException: Invalid int: “” in android

前端 未结 4 1750
感动是毒
感动是毒 2020-11-28 15:58

I already know what is causing this error, I just do not know how to handle the case when a user doesn\'t enter anything into the dialogue box, then hit the button which par

相关标签:
4条回答
  • 2020-11-28 16:27

    Problem: How do you check to see if the dialogue box has text in it, before it tries to run the rest of the code.

    Solution: An if statement.

     int parseToInt(String maybeInt, int defaultValue){
         if (maybeInt == null) return defaultValue;
         maybeInt = maybeInt.trim();
         if (maybeInt.isEmpty()) return defaultValue;
         return Integer.parseInt(maybeInt);
     }
    

    If you can spare the extra dependency, I'd pull in Common Lang StringUtils, to use StringUtils.isBlank instead of trim/isEmpty, because that also handles Unicode.

    0 讨论(0)
  • 2020-11-28 16:33

    Some code would help with the syntax but basically

     if ("".equals(text)  // where text is the text that you get from an EditText or wherever you get it
     {    // give message to enter valid text;    }
    

    Also, you can surround with a try/catch and catch a numberFormatException then print an appropriate message

    0 讨论(0)
  • 2020-11-28 16:33
       String text = editText.getText().toString(); 
       if(!text.equals("") && text.matches("^\\d+$")){
           cast to int
        }
    
    0 讨论(0)
  • 2020-11-28 16:42

    The Same Error Was Causing My Application To Crash. Ans is Simple- Put the code in the

    try{ }

    and

    catch()

    Block which causes Exception ,like this code snip.This Works for me.

    public void setAge(String age) {
    
        final Calendar c = Calendar.getInstance();
        int yearCurrent = c.get(Calendar.YEAR);
        try {
            int yearPrev = (int) Integer.parseInt(age.substring(0, 4));//this line was causing the error
            int ageYear=yearCurrent-yearPrev;
            ageUser="Age : "+Integer.toString(ageYear);
        }
        catch(NumberFormatException numberEx) {
            System.out.print(numberEx);
        }
    
    
    }
    
    0 讨论(0)
提交回复
热议问题