마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

계산기 어플을 만들고 있는데 에러가 납니다. 3개의 택스트박스안에 아무것도 입력을 안하고 버튼을 눌렀을때 튕기지않고 토스트메지로 숫자를 다시입력하세요라고 뜨게 할려면 어떻게 소스를 작성해야되나요?

0 추천
public void ButtonOnclicked(View v) {
    String A =editTextTextPersonName.getText().toString();
    String B= editTextTextPersonName2.getText().toString();
    String C= editTextTextPersonName2121322.getText().toString();
    int X = Integer.parseInt(A);
    int U = Integer.parseInt(B);
    int I = Integer.parseInt(C);
여기에서 3개의 택스트박스에 
아무것도 입력을 안하고 버튼을 누르면 튕겨져
나갑니다. 3개의 택스트박스안에 
아무것도 입력을 안하고 버튼을  눌렀을때 튕기지않고 
토스트메지로 숫자를 다시입력하세요라고
 뜨게 할려면 어떻게 소스를 작성해야되나요? 알려주시면 감사하겠습니다.
ㄴㅇㅇㄴ (120 포인트) 님이 2021년 8월 26일 질문
ㄴㅇㅇㄴ님이 2021년 8월 26일 수정

1개의 답변

0 추천
// 아래와 같은 private method 를 작성하세요. (계산기 어플인데 EditText들 이름이 왜 저렇죠?)
private String getInput1() {
    return editTextTextPersonName.getText().toString();
}

private String getInput2() {
    return editTextTextPersonName2.getText().toString();
}

private String getInput3() {
    return editTextTextPersonName2121322.getText().toString();
}

private static boolean isNumber(String s) {
      try {
         Integer.valueOf(s);
         return true;
      } catch (NumberFormatException e) {
         return false;
      }
}

private boolean validInput() {
    String input1 = getInput1();
    String input2 = getInput2();
    String input3 = getInput3();    
   
    return isNumber(input1) && isNumber(input2) && isNumber(input3);
}


// ButtonOnclicked를 위에서 작성한 메소드를 이용해서 처리하세요.
public void ButtonOnclicked(View v) {
    
    if (!validInput()) {
         showErrorMessage(); // 에러메세지를 보여주세요.
         return;
    }

    // 아래는 기존코드 실행.
    String A = getInput1();
    String B=  getInput2();
    String C=  getInput3();   
    int X = Integer.parseInt(A);
    int U = Integer.parseInt(B);
    int I = Integer.parseInt(C);
}

 

아주 간단한 직관적인 코드라 별도로 질문은 없으실 거예요.

spark (230,170 포인트) 님이 2021년 8월 26일 답변
...