자동완성

반응형



안드로이드에서 에디트텍스트에 문자를 입력하면 자동완성으로 리스트를 보여주는 기능이다.


이 방법보다 더 나은게 있을지도 모르지만 데이터가 많을 경우 노가다가 필요한 작업인거 같다.


일단 급한대로 이걸 썼다.


국기 이미지 때문에 쓴건데 국가가 너무 많아서 힘들었다 ㅠㅠ


먼저  custom.xml 작업부분

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:orientation="vertical"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    >

    <AutoCompleteTextView

        android:layout_height="wrap_content"

        android:layout_width="fill_parent"

        android:id="@+id/edit_national"

        android:hint="Type some text here"/>

</LinearLayout>



그리고 자바 부분에서


import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;


public class CustomActivity implements OnClickListener{

	

	private AutoCompleteTextView autoText;
  	private ArrayList<String> list;
   	private ArrayAdapter<String> adapter;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);

		setContentView(R.layout.custom);//해당 xml
	
	autoText= (AutoCompleteTextView)findViewById(R.id.edit_national);

        list = new ArrayList<String>();
        list.add("가나"); //리스트에 문자열을 하나씩 넣는다.자동완성에 필요한 값들이다.
        list.add("가봉");
        list.add("그리스");
        list.add("기니");
        list.add("나이지리아");
	.
	.
	.
	.

   
 
        adapter = new ArrayAdapter<String>(this, 
                android.R.layout.simple_dropdown_item_1line, list);
         
        autoText.setAdapter(adapter);



이렇게 해주면 에디트 텍스트에서 글자를 입력하면 아래에 해당 단어 리스트가 자동으로 뜨게 된다.

이건 가장 단순한 방법이고 좀 더 효율적이 방법이 있을 것이다.



반응형

+ Recent posts