상세 컨텐츠

본문 제목

[안드로이드] 자동완성 텍스트뷰 쉽게 만드는 방법

안드로이드

by aries574 2021. 7. 28. 11:07

본문


2021.07.23 - [안드로이드] - [안드로이드] 버튼 누르면 효과음(SoundPool) 나오게 하는 방법

 

[안드로이드] 버튼 누르면 효과음(SoundPool) 나오게 하는 방법

2021.07.11 - [안드로이드] - [안드로이드] 이미지 리스트로 보여주는 방법 Picasso Recyclerview [안드로이드] 이미지 리스트로 보여주는 방법 Picasso Recyclerview 2021.06.30 - [안드로이드] - [안드로이드]..

aries574.tistory.com

2021.07.24 - [안드로이드] - [안드로이드] 간단하게 노래 재생하는 방법 MediaPlayer

 

[안드로이드] 간단하게 노래 재생하는 방법 MediaPlayer

2021.07.13 - [안드로이드] - [안드로이드] 이미지 리스트 다운로드하는 방법 DownloadManager [안드로이드] 이미지 리스트 다운로드하는 방법 DownloadManager 2021.06.28 - [안드로이드] - [안드로이드]정해진..

aries574.tistory.com

 

이번 시간에는 네이버, 다음, 구글 같은 곳에서 검색하기 위해 글자를 입력하면

자동으로 글자가 완성되는 기능을 안드로이드에서 어떻게 구현할 수있는지 만들어 보겠습니다. 

 

1. 메인화면(activity_main.xml)

android:completionThreshold="1"

한 글자를 입력하면 자동완성 기능이 실행됩니다.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <MultiAutoCompleteTextView
        android:id="@+id/multi_text"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:completionThreshold="1"
        android:hint="단어를 입력하세요" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:onClick="showInput"
        android:text="선택한 단어는?" />
</LinearLayout>

 

2. 메인코드(MainActivity.java)

(1) 자동 완성에 쓰일 글자를 배열에 담기

(2) MultiAutoCompleteTextView 설정

(3) 콤마 기준으로 잘라 보여주기

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.MultiAutoCompleteTextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    //자동 완성에 쓰일 글자들
    private static final String[] WORD = new String[]{
            "Apple", "Air", "Angel", "Boy", "Book", "Bear"
    };

    private MultiAutoCompleteTextView multiText;

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

        multiText = findViewById(R.id.multi_text);
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, WORD);
        multiText.setAdapter(adapter);

        //콤마처리
        multiText.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
    }

    public void showInput(View v){

        String input = multiText.getText().toString().trim();

        // 콤마를 기준으로 자르기
        String[] singleInputs = input.split("\\s*,\\s*");

        String toastText = "";

        for(int i = 0; i < singleInputs.length; i++){
            toastText += "Item " + i + ": " + singleInputs[i] + "\n";
        }

        Toast.makeText(this, toastText, Toast.LENGTH_SHORT).show();
    }
}

 

3. 실행화면

 

 

 

맘에 드셨다면 공감 부탁드려요

문의 댓글 환영합니다.

 

 

 

반응형

관련글 더보기

댓글 영역