본문 바로가기
안드로이드/AdapterView

안드로이드 MultiAutoCompleteTextView

by 김어찐 2022. 6. 7.
728x90

AutoCompleteTextView와 거의 동일하며 구분자를 활용해 여러 문자열을 동시에 입력 받을 수 있는 AdapterView이다.

 

주요속성

completionThreshold : 몇 글자를 입력했을 때 자동완성 리스트가 나타날지 설정한다.

 

주요 메서드

setTokenizer : 구문자를 설정한다. 본 강좌에서는 기본으로 제공되는 구분자를 사용한다.
setAdapter : AutoCompleteTextView는 Adapter를 메서드를 통해 설정한다.

 

주요 프로퍼티

text : 사용자가 입력한 문자열 값

 

주요 이벤트

ItemClick : 제공되는 자동완성 리스트의 항목을 클릭할 경우 발생한다.

 

package com.example.multiautocompletetextview

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.ArrayAdapter
import android.widget.MultiAutoCompleteTextView
import kotlinx.android.synthetic.main.activity_main.*

class MainActivity : AppCompatActivity() {
    val data = arrayOf(
        "abcd","abca","abcb","abcc","bbaa","bbab","bcab","bdab"
    )
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)


        val adapter1 = ArrayAdapter(this,android.R.layout.simple_dropdown_item_1line,data)

        // 구분자
        multiAutoCompleteTextView.setTokenizer(MultiAutoCompleteTextView.CommaTokenizer())

        multiAutoCompleteTextView.setAdapter(adapter1)

        button.setOnClickListener {
            val strArray = multiAutoCompleteTextView.text.split(",")

            textView.text=""

            for (str1 in strArray) {
                if (str1.trim() != "") {
                    textView.append("${str1.trim()}\n")
                }
            }
        }

        multiAutoCompleteTextView.setOnItemClickListener { parent, view, position, id ->
            // 필터된 리스트의 인덱스를 postion을 반환
            textView2.text = "${data[position]} 학목을 선택하였습니다"
        }

    }
}

 

728x90

'안드로이드 > AdapterView' 카테고리의 다른 글

안드로이드 MultiChoiceListView  (0) 2022.06.07
안드로이드 SingleChoiceListView  (0) 2022.06.07
안드로이드 AutoCompleteTextView  (0) 2022.06.07
안드로이드 ViewPager  (0) 2022.06.07
안드로이드 GridView  (0) 2022.06.07