Android에서의 자동 텍스트 입력 제안 기능

자동 완성 기능은 사용자가 입력한 정보를 바탕으로 가능한 옵션을 제시하여 입력 과정을 간소화하는 기능입니다. Android에서는 이 기능을 구현하기 위해 AutoCompleteTextViewMultiAutoCompleteTextView를 사용합니다. 전자는 단일 항목에 대한 자동 완성을 제공하며, 후자는 여러 항목에 대한 자동 완성을 지원합니다.

레이아웃 파일:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >
    <AutoCompleteTextView 
        android:id="@+id/autoText"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="이름을 입력하세요:"
        android:textColor="#000"
        android:maxLength="10"
        />
    <MultiAutoCompleteTextView
        android:id="@+id/multiAutoText"
        android:layout_below="@id/autoText"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="도시를 입력하세요:"
        android:textColor="#000"
        android:maxLength="20"
        />
</RelativeLayout>

액티비티 코드:

import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.MultiAutoCompleteTextView;

public class MainActivity extends Activity {
    
    private AutoCompleteTextView autoText;
    private MultiAutoCompleteTextView multiAutoText;
    private String[] suggestions1 = {"김치", "김밥", "갈비", "고기", "과일"};
    private String[] suggestions2 = {"서울", "부산", "대구", "인천", "광주"};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        autoText = findViewById(R.id.autoText);
        multiAutoText = findViewById(R.id.multiAutoText);

        ArrayAdapter<String> adapter1 = new ArrayAdapter<>(this, android.R.layout.simple_dropdown_item_1line, suggestions1);
        autoText.setAdapter(adapter1);

        ArrayAdapter<String> adapter2 = new ArrayAdapter<>(this, android.R.layout.simple_dropdown_item_1line, suggestions2);
        multiAutoText.setAdapter(adapter2);
        multiAutoText.setThreshold(1);
        multiAutoText.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
    }
}
이 코드는 기본적인 자동 완성 기능을 구현하는 방법을 보여줍니다. 주석을 통해 이해를 돕도록 하였습니다.

태그: Android AutoCompleteTextView MultiAutoCompleteTextView ArrayAdapter

8월 5일 12:50에 게시됨