Computer >> 컴퓨터 >  >> 프로그래밍 >> Android

안드로이드 EditText 빈 값 확인 방법 – TextUtils.isEmpty() 활용법

이 예제는 안드로이드 앱에서 EditText가 비어 있는지, 즉 사용자가 아무것도 입력하지 않았는지 확인하는 방법을 보여줍니다. 로그인 폼, 회원가입, 검색창처럼 사용자 입력을 받는 거의 모든 화면에서 입력값 검증은 필수적인 작업이므로 꼭 익혀두면 유용합니다.

핵심 원리: TextUtils.isEmpty()

EditText에 입력된 값을 가져오려면 getText().toString()을 사용합니다. 이 문자열이 null이거나 길이가 0인지 판별할 때는 안드로이드에서 기본 제공하는 TextUtils.isEmpty() 메서드를 쓰는 것이 가장 간편하고 안전합니다.

Step 1 — 새 프로젝트 생성

Android Studio를 실행한 뒤 상단 메뉴에서 File → New Project를 선택하고, 프로젝트 생성에 필요한 정보를 모두 입력하여 새 프로젝트를 만듭니다.

Step 2 — 레이아웃 작성 (res/layout/activity_main.xml)

아래 코드를 res/layout/activity_main.xml 파일에 추가합니다. 화면에는 입력을 받을 EditText 하나와 검사를 실행할 버튼 하나를 배치했습니다.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
    <EditText
        android:id="@+id/editText"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:textSize="12sp"
        android:layout_marginTop="45dp"/>
    <Button
        android:id="@+id/buttonCheck"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Check Edit"
        android:layout_centerInParent="true"
        android:layout_marginTop="25sp"
        android:layout_below="@id/editText"/>
</RelativeLayout>

Step 3 — MainActivity.java 작성

버튼을 클릭하면 EditText의 값이 비어 있는지 검사하고, 그 결과를 Toast 메시지로 화면에 표시하는 코드입니다.

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
    EditText editText;
    Button button;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        editText = findViewById(R.id.editText);
        button = findViewById(R.id.buttonCheck);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (TextUtils.isEmpty(editText.getText().toString())){
                    Toast.makeText(MainActivity.this, "Empty
                        field not allowed!",
                        Toast.LENGTH_SHORT).show();
                }else {
                    Toast.makeText(MainActivity.this,
                        "Proceed..",
                        Toast.LENGTH_SHORT).show();
                }
            }
        });
    }
}

코드 설명

TextUtils.isEmpty(editText.getText().toString())true를 반환하면 입력란이 비어 있다는 뜻이므로 "빈 값은 허용되지 않습니다!"라는 경고 메시지를, false라면 다음 단계로 진행한다는 메시지를 잠시 보여줍니다. 이 한 줄의 조건문만으로 공백 문자열과 null을 모두 처리할 수 있습니다.

참고: 최신 Android Studio에서 생성한 프로젝트는 AndroidX를 사용하므로 import 문을 androidx.appcompat.app.AppCompatActivity로 변경하면 됩니다. 나머지 코드는 동일하게 동작합니다.

Step 4 — AndroidManifest.xml

이 예제는 별도의 권한 없이 기본 설정만으로 동작합니다. 참고용으로 androidManifest.xml의 전체 코드는 다음과 같습니다.

<?xml version="1.0" encoding="utf-8"?>
<manifest
    xmlns:android="https://schemas.android.com/apk/res/android"
    package="app.com.sample">
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action
                    android:name="android.intent.action.MAIN" />
                <category
                    android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

앱 실행 및 결과 확인

이제 애플리케이션을 실행해 보겠습니다. 실제 안드로이드 기기가 컴퓨터에 연결되어 있다고 가정합니다. Android Studio에서 프로젝트의 액티비티 파일 중 하나를 열고 툴바의 Run 아이콘을 클릭한 뒤, 실행 대상 목록에서 자신의 모바일 기기를 선택하세요. 그러면 앱이 기기에 설치되어 기본 화면이 표시됩니다.

동작을 테스트하려면 EditText를 비워 둔 상태에서 버튼을 눌러 경고 메시지가 뜨는지 확인하고, 이후 텍스트를 입력한 상태에서 다시 눌러 정상 진행 메시지가 표시되는지 확인하면 됩니다.

안드로이드 EditText 빈 값 확인 방법 – TextUtils.isEmpty() 활용법

안드로이드 EditText 빈 값 확인 방법 – TextUtils.isEmpty() 활용법