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

에디트텍스트edittext 공백문자 질문입니다.

0 추천
이제 막 안드로이드 코딩을 배우기시작한 학생인데요,

 

안드로이드 스튜디오 EditText 코딩문제때문에 질문드립니다.

EditText로 값을받아서 계산하는 간단한 코딩인데,

EditText에 값을 입력하지않은경우 ( 공백인경우 ) Toast를 보내려고하는데,

input1.equals(null) || input2.equals(null) 로했는데 오류던데 방법이 있나요 ?
컴공생 (120 포인트) 님이 2018년 4월 7일 질문

1개의 답변

0 추천

TextUtils.isEmpty(editText.getText());

디자이너정 (42,810 포인트) 님이 2018년 4월 7일 답변
package my.project20131530application;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    EditText std1, std2, std3, std4, std5;
    Button btn1;

    int adult = 30000, child = 9900;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        setTitle("입장료 계산하기");

        std1 = (EditText) findViewById(R.id.stded1);
        std2 = (EditText) findViewById(R.id.stded2);
        std3 = (EditText) findViewById(R.id.stded3);
        std4 = (EditText) findViewById(R.id.stded4);
        std5 = (EditText) findViewById(R.id.stded5);

        btn1 = (Button) findViewById(R.id.btn);

        String ad = String.valueOf(adult);
        std4.setText(ad.toString());
        String ch = String.valueOf(child);
        std5.setText(ch.toString());

        btn1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                String input1, input2;
                input1 = std1.getText().toString();
                int a = Integer.parseInt(input1);
                input2 = std2.getText().toString();
                int b = Integer.parseInt(input2);
                String result;
                double pay;


                if(input1.equals(null) || input2.equals(null)) {
                    Toast.makeText(getApplicationContext(),"값이 비었습니다.",Toast.LENGTH_SHORT).show();
                }
                else {
                    if(a + b >= 5) {
                        pay = ((adult * a) + (child * b)) * 0.80;
                        result = String.valueOf((int)pay);
                        std3.setText(result.toString());
                    }
                    else {
                        pay = (adult * a) + (child * b);
                        result = String.valueOf((int)pay);
                        std3.setText(result.toString());
                    }
                }
            }

        });
    }
}

이게 현재 코드인데, 숫자외의값 or 공백의값경우 Toast를 보내고싶은데 어캐하는지 모르겠어요 ㅠㅠ
getText().toString(); 대신에 getText().toString().trim(); 을 사용하시고,
if(TextUtils.isEmpty(input1) || TextUtils.isEmpty(input2) || !TextUtils.isDigitsOnly(input1) || !TextUtils.isDigitsOnly(input2)) 해 보세요.
...