728x90
안드로이드에서 제공하는 autoCompleteTextView를 사용해서 자동 완성기능을 만들어보겠습니다.
autoCompleteTextView 란?
사용자가 입력하는 동안 완성 제안을 자동으로 표시하는 편집 가능한 텍스트뷰 입니다.
참고)
developer.android.com/reference/android/widget/AutoCompleteTextView
먼저 예제에 사용할 화면을 만들어보겠습니다.
<activity_main.xml>
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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">
<TextView
android:id="@+id/titleView"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginTop="16dp"
android:background="@color/white"
android:gravity="left|center_vertical"
android:text="검색어 자동완성"
android:textAlignment="center"
android:textColor="#000000"
android:textSize="20dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="RtlCompat" />
<AutoCompleteTextView
android:id="@+id/autoCompleteTextView"
android:layout_width="match_parent"
android:layout_height="45dp"
android:layout_marginBottom="420dp"
android:completionHint="검색어를 입력해주세요."
android:completionThreshold="1"
android:gravity="center_vertical"
android:textColorHint="#555555"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/titleView"
app:layout_constraintVertical_bias="0.343" />
</androidx.constraintlayout.widget.ConstraintLayout>
다음 예제에 사용할 코드를 작성하겠습니다.
<MainActivity.kt>
1. 예제에 사용할 변수 생성
2. 검색어 자동 완성 기능 생성
검색어 자동 완성 기능을 만들기 위해 이벤트를 추가합니다.
스틱코드를 활용한다면, 클래스에서 'au' 까지만 작성했을 때 '검색어 자동완성 기능 생성' 이벤트가 나타납니다.
'검색어 자동완성 기능 생성' 이벤트를 누를 경우 코드가 자동으로 완성됩니다.
<최종코드>
import android.widget.ArrayAdapter
import android.os.Bundle
import android.widget.AutoCompleteTextView
import androidx.appcompat.app.AppCompatActivity
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// 자동완성으로 보여줄 내용들
var items = arrayOf("SM3", "SM5", "SM7", "SONATA", "AVANTE", "SOUL", "K5", "K7")
var autoCompleteTextView = findViewById<AutoCompleteTextView>(R.id.autoCompleteTextView)
var adapter = ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, items)
autoCompleteTextView.setAdapter(adapter)
}
}
프로젝트를 실행하면 아래 사진과 같이 검색어 자동 완성 기능이 되는 것을 확인하실 수 있습니다.
참고한 스틱코드)
stickode.com/detail.html?no=2191
'안드로이드 코틀린' 카테고리의 다른 글
[Kotlin][Android] ExoPlayer를 사용하여 영상 플레이어 만들기 (0) | 2021.07.13 |
---|---|
[Kotlin][Android] 구글맵 빠르게 적용하기 (1) | 2021.07.12 |
[Kotlin][Android] QR 코드 리더기 (0) | 2021.07.01 |
[Kotlin][Android] 이미지 확대, 축소 기능 만들기 (0) | 2021.06.29 |
[Kotlin][Android] 앱 위젯 만들기 (3) | 2021.06.28 |