½ºÇdzÊ

½ºÇdzʴ ¿©·¯°¡Áö ¾ÆÀÌÅÛ Áß¿¡¼­ ÇÑ°³ÀÇ ¾ÆÀÌÅÛÀ» ¼±ÅÃÇϴ°ÍÀÌ´Ù.
µå¶ø´Ù¿î ¸®½ºÆ®¿¡¼­ ¼±ÅÃÇÑ´Ù.







½ºÇÇ³Ê À̺¥Æ® Çڵ鷯 »ý¼º

View¸¦ »ó¼ÓÇÑ Å¬·¡½º°¡ ¾Æ´Ñ°÷¿¡¼­ ÀÚ¹ÙÀÇ interface¸¦ ÀÌ¿ëÇÏ¿© UI À̺¥Æ® Çڵ鷯¸¦ ó¸® ÇÑ´Ù.

public class MainActivity extends ActionBarActivity
                                          implements Spinner.OnItemSelectedListener

½ºÇÇ³Ê »ý¼º

1. ArrayAdapter¿¡ ¾ÆÀÌÅÛÀ» Ãß°¡ÇÑ´Ù.

ArrayAdapter¸¦ »ý¼ºÇÏ¿© ¾ÆÀÌÅÛ¸®½ºÆ®¸¦ ¸¸µç´Ù.

ArrayAdapter<String> ad = new ArrayAdapter<String>(this, ssi);
ArrayAdapter¸¦ ½ºÇÇ³Ê Ç¥ÁØ ½ºÅ¸ÀÏ·Î »ý¼ºÇÑ´Ù.

ad.setDropDownViewResource(ssdi);
µå·Ó´Ù¿î ½ºÅ¸ÀÏÀ» ½ºÇÇ³Ê Ç¥ÁØ ½ºÅ¸ÀÏ·Î ÇÑ´Ù.

ad.add("SP1")
¾ÆÀÌÅÛÀ» Ãß°¡ÇÑ´Ù.

2.  ½ºÇdzʸ¦ ¸¸µé¾î ·¹À̾ƿô¿¡ µî·ÏÇÑ´Ù.

ArrayAdapter¸¦ ½ºÇdzʿ¡ µî·ÏÇÏ°í ½ºÇdzʸ¦ ¼³Á¤ÇÑ´Ù.

Spinner sp = new Spinner(this)
½ºÇdzʸ¦ »ý¼ºÇÑ´Ù.

sp.setAdapter(ad)
ArrayAdapter¸¦ ¼³Á¤ÇÑ´Ù.

sp.setSelection(0)
ID 0À» ¼±Åà »óÅ·ΠÃʱâÈ­ ÇÑ´Ù

sp.setOnItemSelectedListener(this)
¸®½º³Ê°¡ µÇ´Â ¿ÀºêÁ§Æ®¸¦ ²À ¼³Á¤ÇØ¾ß À̺¥Æ®¸¦ ¹ÞÀ»¼ö ÀÖ´Ù.

    LinearLayout _layout;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
        /*
        setContentView(R.layout.activity_main);

        if (savedInstanceState == null) {
            getSupportFragmentManager().beginTransaction()
                    .add(R.id.container, new PlaceholderFragment())
                    .commit();
        }
        */
        
        _layout = new LinearLayout(this);
        _layout.setOrientation(LinearLayout.VERTICAL);
        int wc = LinearLayout.LayoutParams.WRAP_CONTENT;
        
        //ArrayAdapter¸¦ ÀÌ¿ëÇØ item »ý¼º
        int ssi = android.R.layout.simple_spinner_item;  
        int ssdi = android.R.layout.simple_spinner_dropdown_item;
        ArrayAdapter<String> ad = new ArrayAdapter<String>(this, ssi);
        ad.setDropDownViewResource(ssdi);
        ad.add("SP1");
        ad.add("SP2");
        ad.add("SP3");
        
        //½ºÇÇ³Ê »ý¼º
        Spinner sp = new Spinner(this);
        sp.setAdapter(ad);
        sp.setSelection(0);
        sp.setTag("sp1");
        sp.setLayoutParams(new LinearLayout.LayoutParams( 400, wc));
        sp.setOnItemSelectedListener(this);
        _layout.addView(sp);
               
        ShowTextView();
        
        setContentView(_layout);  
    }

    void ShowTextView()
    {
        TextView tv = new TextView(this);
        tv.setText("TextView :" );
        tv.setTag("tv1");
        _layout.addView(tv);       
    }

À̺¥Æ® ó¸®

¼±ÅÃµÈ ¾ÆÀÌÅÛÀ¸·Î ÅؽºÆ®ºäÀÇ ¹®ÀÚ¿­À» º¯°æÇÑ´Ù.

    @Override
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id)
    {
        String tag = (String)parent.getTag();
        
        if(tag == "sp1")
        {
            View parent2 = (View)parent.getParent();
            TextView tv = (TextView)parent2.findViewWithTag("tv1");
            tv.setText("TextView :  " + ((TextView)view).getText() + "  " + position);
        }
    }
    
    @Override
    public void onNothingSelected(AdapterView<?> parent)
    {
    }

üũ »óÅ ȮÀÎ

getSelectedItemPosition()( ) ÇÔ¼ö·Î ¾î¶² ¾ÆÀÌÅÛÀÌ ¼±Åà µÇ¾ú´ÂÁö üũÇÑ´Ù.

            Spinner sp = (Spinner)parent;   //AdapterView<?>¿¡¼­ º¯°æÀÌ Ä³½ºÆÃÀÌ °¡´ÉÇÏ´Ù
            int n = sp.getSelectedItemPosition();  //¸®ÅÏ°ªÀº onItemSelected( )ÀÇ 3¹ø° ÀÎÀÚ id¿Í °°´Ù