AutoCompleteTextVew에서 입력한 글자와 유사한 단어를 표시하는 모습
AutoCompleteTextView의 외형은 EditText와 유사하나, 두 글자 이상 입력하면 미리 지정된 단어 목록 중 입력한 글자와 유사한 단어를 리스트 형태로 표시합니다.
AutoCompleteTextView와 단어 목록을 연결하기 위해, 레이아웃을 지정해주는 어댑터(Adapter)를 사용합니다. 어댑터는 처리하는 데이터의 유형에 따라 ArrayAdapter, CusorAdapter 등 여러 종류가 있습니다.
public ArrayAdapter (Context context, int textViewResourceId, T[] object)
새로운 ArrayAdapter를 생성합니다. objects에 원본 데이터를 지정하고, textViewResorceId에는 표시될 레이아웃의 리소스를 지정합니다.
어댑터의 생성자에서는 리스트에 표시할 원본 데이터와 리스트의 레이아웃을 지정합니다.
simple_dropdown_item_1line 레이아웃의 모습
마지막으로는 setAdapter() 메서드를 사용하여 AutoCompleteTextView에 어댑터를 연결합니다.
코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | public class AutoCompleteExample extends Activity { private AutoCompleteTextView autoComplete; private ArrayList<String> list; private ArrayAdapter<String> adapter; @Override public void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout.main); autoComplete = (AutoCompleteTextView)findViewById(R.id.autoComplete); list = new ArrayList<String>(); list.add( "Android" ); list.add( "Andromeda" ); list.add( "Breezy Badger" ); list.add( "Cupcake" ); list.add( "Donut" ); list.add( "Dapper Drake" ); list.add( "Edge Eft" ); list.add( "Eclair" ); list.add( "Froyo" ); list.add( "Gusty Gibbon" ); list.add( "Hoary Hedgehog" ); list.add( "Hardy Heron" ); list.add( "Intrepid ibex" ); list.add( "Karmic Koala" ); adapter = new ArrayAdapter<String>( this , android.R.layout.simple_dropdown_item_1line, list); autoComplete.setAdapter(adapter); } } |
출처 - 기초부터 다지는 커니의 안드로이드
'프로그래밍 > Android' 카테고리의 다른 글
Toast(토스트) (0) | 2011.08.22 |
---|---|
ListView - 리스트뷰 (0) | 2011.08.22 |
DatePicker, TimePicker (0) | 2011.08.22 |
ProgressBar, SeekBar, RaingBar (0) | 2011.08.19 |
RadioButton, CheckBox (0) | 2011.08.19 |