안드로이드 자바

[Java][Android] InputFilter 사용해서 글자 수 제한하기

teamnova 2025. 4. 15. 15:47
728x90

안녕하세요

오늘은 InputFilter를 사용해서 글자수를 제한하는 방법을 알아보도록 하겠습니다.

 

우선 전체 코드입니다.

 

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:padding="24dp"
  android:orientation="vertical"
  >

  <EditText
    android:id="@+id/editText"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="최대 10자 입력"
    android:textSize="18sp"
    android:layout_marginTop="200dp"
    android:inputType="text" />
</LinearLayout>

 

MainActivity.java

public class MainActivity extends AppCompatActivity {

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    EditText editText = findViewById(R.id.editText);

    // 글자 수 제한: 최대 10자
    InputFilter lengthFilter = new InputFilter.LengthFilter(10);
    editText.setFilters(new InputFilter[]{lengthFilter});
  }

}

 

 

xml 파일에서 maxLength 속성을 사용해 고정된 글자 수를 제한하는것과는 달리,

 

InputFilter를 사용하면 조건문과 함께 활용하여 글자 수 제한을 동적으로 조절할 수 있습니다.

 

시연 영상입니다.