본문 바로가기

나 어제 배웠다/Android

Android Widget[Component]-AutoCompleteTextView

▣ Android Widget[Component]-AutoCompleteTextView

1. ArrayTest Project 생성

 

 

2. main.xml spinner widget 추가

 

 

<?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"    >
  <Spinner
    android:id="@+id/s01"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="10px"/>
   
  <AutoCompleteTextView
    android:id="@+id/actv01"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="10px"/>
</LinearLayout>

 

3. array.xml 데이타 파일 생성

 

 <?xml version="1.0" encoding="UTF-8"?>
<resources>
 <string-array name="animals">
  <item>cat</item>
  <item>caw</item>
  <item>coala</item>
  <item>cobura</item>  
  <item>camel</item>
  <item>camera</item>
  <item>tiger</item>
  <item>lion</item>  
 </string-array>
</resources>

 

4. ArrayTestActivity.java 변경

 

package com.pns.hjh.ui.array;

import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.Spinner;

public class ArrayTestActivity extends Activity {
    /** Called when the activity is first created. */ 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);               
       
        methodA();
        methodB();
    }
    static final String[] NAMES = {"이름1","이름2","이름3","이름4","이름5","이름6","이름7","이름8","이름9","이름10"};
    List<String> list = new ArrayList<String>();
    void methodA(){
     Spinner s = (Spinner)findViewById(R.id.s01);
     
     //1. xml데이타 가져오기
        ArrayAdapter adapter = ArrayAdapter.createFromResource(this, R.array.animals, android.R.layout.simple_spinner_item);
        //adapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
       
        //2. 배열 데이터 가져오기
        //ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_spinner_dropdown_item,NAMES);
       
        //3. 가변배열(List)
        /*list.add("김치");
        list.add("깍두기");
        list.add("총각");       
        ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_spinner_dropdown_item,list);*/
       
        s.setAdapter(adapter);
       
        //Event
        s.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
         public void onItemSelected(AdapterView<?> parent, View view,
     int position, long id) {
    // TODO Auto-generated method stub
    //Object item = parent.getAdapter().getItemId(position);
          Object item = parent.getAdapter().getItem(position);
          Log.i("select Item : ",item.toString());   
   }
         public void onNothingSelected(AdapterView<?> parent) {
    // TODO Auto-generated method stub
    
   }
   
  });
    }
   
    void methodB(){
     AutoCompleteTextView actv = (AutoCompleteTextView)findViewById(R.id.actv01);
     
     ArrayAdapter adapter = ArrayAdapter.createFromResource(this, R.array.animals, android.R.layout.simple_dropdown_item_1line);
     
     actv.setAdapter(adapter);
     
     //Event
     actv.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

   public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
    // TODO Auto-generated method stub
    Object item = parent.getAdapter().getItem(position);
    Log.i("Select Item : ",item.toString());
   }

   public void onNothingSelected(AdapterView<?> parent) {
    // TODO Auto-generated method stub
    
   }
      
  });
    }

 

5. 실행결과