안드로이드/AdapterView
안드로이드 AutoCompleteTextView
김어찐
2022. 6. 7. 16:40
728x90
EditText에 자동완성 기능을 추가한 View 이다.
사용자가 문자열을 입력하면 설정한 문자열 항목을 통해 자동완성 리스트를 제공한다.
주요 속성
completionThreshold : 몇 글자를 입력했을 때 자동완성 리스트가 나타날지 설정한다.
주요 메서드
setAdapter : AutoCompleteTextView는 Adapter를 메서드를 통해 설정한다.
주요 프로퍼티
text : 사용자가 입력한 문자열 값
주요 이벤트
ItemClick : 제공되는 자동완성 리스트의 항목을 클릭할 경우 발생한다.
package com.example.autocompletetextview
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import android.widget.AdapterView
import android.widget.ArrayAdapter
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
val data1 = arrayOf(
"abcd","ddfd","asdfa","dfasq","sdafq","dasfa","dfs"
)
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val adapter1 = ArrayAdapter(this,android.R.layout.simple_dropdown_item_1line,data1)
autoCompleteTextView.setAdapter(adapter1)
button.setOnClickListener {
textView.text = autoCompleteTextView.text
}
// autoCompleteTextView.setOnItemClickListener(listener1)
autoCompleteTextView.setOnItemClickListener { parent, view, position, id ->
textView2.text="${data1[position]} 항목을 클릭했습니다."
}
}
val listener1 = object : AdapterView.OnItemClickListener{
override fun onItemClick(
parent: AdapterView<*>?,
view: View?,
position: Int,
id: Long
) {
textView2.text="${data1[position]} 항목을 클릭했습니다."
// parent?.id 못받아옴 이유 모름
// when (parent?.id) {
// R.id.autoCompleteTextView ->{
// textView2.text="${data1[position]} 항목을 클릭했습니다."
// }
// }
}
}
}
728x90