이번 시간에는 입력한 텍스트와 비슷한 글자를 보여줘서 자동 완성할 수 있는 기능을 알아보겠습니다.
- 설명 -
1. 텍스트 자동 완성해주는 MultiAutoCompleteTextView
2. 입력된 텍스트 보여주는 Button
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
tools:context=".MainActivity">
<MultiAutoCompleteTextView
android:id="@+id/multi_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:completionThreshold="1"
android:hint="단어를 입력하세요"/>
<Button
android:id="@+id/select_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/multi_text"
android:layout_centerHorizontal="true"
android:text="선택한 단어는"/>
</RelativeLayout>
- 설명 -
1. ArrayAdapter(this,
android.R.layout.simple_list_item_1, word)
데이터와 화면을 연결해주는 Adapter
2. multiText.setAdapter(adapter)
Adapter을 자동완성텍스트뷰에 적용
3. MultiAutoCompleteTextView.CommaTokenizer()
다중 데이터를 콤마로 분류해준다.
4. input.split(",")
콤마를 기준으로 잘라준다.
class MainActivity : AppCompatActivity(){
//단어집
private val word = arrayOf("Apple", "Air", "Angel","Boy",
"Book", "Bear")
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val multiText: MultiAutoCompleteTextView = findViewById(R.id.multi_text)
//Adapter 생성
val adapter: ArrayAdapter<String> = ArrayAdapter(this,
android.R.layout.simple_list_item_1, word)
//Adapter 적용
multiText.setAdapter(adapter)
//콤마 처리
multiText.setTokenizer(MultiAutoCompleteTextView.CommaTokenizer())
//선택한 단어 보여주는 이벤트
val selectBtn: Button = findViewById(R.id.select_btn)
selectBtn.setOnClickListener {
//입력단어 변수에 담기
val input: String = multiText.text.toString().trim()
//콤마를 기준으로 잘라서 배열에 담기
var singleInputs: List<String> = input.split(",")
//메시지로 보여줄 변수
var toastText = ""
//변수에 선택한 값 담기( index: 순서 0 ~ 1.2.3. , item: 값
for((index, item) in singleInputs.withIndex()){
//값이 비워있지 않다면
if(item.isNotEmpty()){
toastText += "Item $index : $item \n"
}
}
Toast.makeText(this, toastText, Toast.LENGTH_SHORT).show()
}
}//onCreate
}
2022.07.05 - [안드로이드] - [안드로이드 코틀린] 다이얼로그(Dialog) 리스트(List)로 보여주는 방법
2022.06.17 - [안드로이드] - [안드로이드 코틀린] 정해진 시간에 알람 울리는 방법 Notification TimePickerDialog part1 - 설정
2022.06.14 - [안드로이드] - [안드로이드 코틀린] Tab Custom Animation part1 - 화면 구성 및 설정
[안드로이드 코틀린] 스피너(Spinner) 드롭다운 배경 색상 바꾸는 방법 (0) | 2022.07.12 |
---|---|
[안드로이드 코틀린] 스피너(spinner) 드롭다운 사용방법 (0) | 2022.07.11 |
[안드로이드 코틀린] RecognizerIntent 음성을 텍스트(Text)로 전환시켜주는 방법 (0) | 2022.07.09 |
[안드로이드 코틀린] TextToSpeech 텍스트(Text)를 음성으로 전환시켜주는 방법 (0) | 2022.07.08 |
[안드로이드 코틀린] 다이얼로그(Dialog) 사용자정의 (Custom) 화면으로 보여주는 방법 (0) | 2022.07.07 |
댓글 영역