728x90
안녕하세요 이번시간에는 검색 자동완성을 구현하는 간단한 자동완성 텍스트뷰 예제를 포스팅하겠습니다.
이 예제는 리스트뷰를 사용하여 검색어 추천 목록과 검색 결과 목록을 표시합니다.
먼저, activity_main.xml 파일을 다음과 같이 작성합니다
AutoCompleteTextView에 completionThreshold 속성을 1로 설정하여 사용자가 검색어를 입력하면 자동으로 추천 검색어를 표시하도록 합니다. ListView에는 검색 결과를 표시합니다.
activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Search:" />
<AutoCompleteTextView
android:id="@+id/searchView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:completionThreshold="1" />
</LinearLayout>
다음으로, MainActivity.java 파일에서 AutoCompleteTextView와 ListView를 초기화합니다. 데이터는 문자열 배열에 저장되며, ArrayAdapter를 사용하여 데이터를 AutoCompleteTextView와 ListView에 바인딩합니다.
MainActivity.java
package com.example.autocompleteex;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.ListView;
public class MainActivity extends AppCompatActivity {
private AutoCompleteTextView searchView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//listView = findViewById(R.id.listView);
searchView = findViewById(R.id.searchView);
// 검색어 추천 목록 데이터
String[] data = {"Apple", "Banana", "Cherry", "Durian", "Elderberry", "Fig", "Grape", "Honeydew", "Kiwi", "Lemon", "Mango"};
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, data);
// 검색어 추천 목록 표시
searchView.setAdapter(adapter);
}
}
이것으로 다음과 같이 문자열이 입력되었을 때, 자동완성 기능을 구현해 봤습니다. 감사합니다.
'안드로이드 자바' 카테고리의 다른 글
[Android][Java] 앱이 요청한 권한(permission)의 이름을 화면에 출력해보기 (0) | 2023.05.05 |
---|---|
[Android][JAVA] MPAndroidChart 라이브러리에서 xAxis 에 String 값 넣기 (0) | 2023.05.03 |
[Android][Java] Customize Line Chart (0) | 2023.04.29 |
[Android][Java]PreferenceScreen 사용해서 SharedPreferences데이터 저장하기 (0) | 2023.04.28 |
[Android][Java] FadingTextView 사용해서 일정시간마다 글자 바꿔주기 (0) | 2023.04.27 |