十四.spinnerドロップダウンリストを作成する


一.方法一
a)メインActivityのレイアウトファイルにSpinnerコントロールを追加する.
<Spinner android:id="@+id/spinnderid"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        />


b)string.xmlファイルにstring-arrayラベルを作成し、リストの内容を追加します.
 <string-array name="spinner_array">

        <item>   </item>

        <item>   </item>

        <item>   </item>

        <item>   </item>

        <item>   </item>

        <item>   </item>

    </string-array>



 

 
c)Activityに次のコードを追加
package paj.spinnerTest;

 

import java.util.ArrayList;

import java.util.List;

 

import junit.framework.Test;
import android.R.anim;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Spinner;

public class SpinnerTestActivity extends Activity {

    /** Called when the activity is first created. */

    @Override

    public void onCreate(Bundle savedInstanceState) {

           super.onCreate(savedInstanceState);
           setContentView(R.layout.main);
           //     spinner  
           Spinner spinner = (Spinner) findViewById(R.id.spinnderid);
           //    ArrayAdapter     
            //     ,    
            //     ,           
            //     ,         。    android           

            ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
            this,
            R.array.spinner_array,
            android.R.layout.simple_spinner_item);

           //             。    android           
            adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
           spinner.setAdapter(adapter);
          //  
            spinner.setPrompt("  ");
          //      
            spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
                //     ,         
                  //     ,         
                  //     ,                
                  //     ,      ID
               public void onItemSelected(AdapterView<?> arg0, View arg1,int arg2, long arg3) {
                     //   getItemAtPosition toString()       
                         System.out.println(arg0.getItemAtPosition(arg2).toString());
                  }

                 public void onNothingSelected(AdapterView<?> arg0) {

                         // TODO Auto-generated method stub

                         System.out.println("NoT Selected!");
                  }
           });
    }

}


二.リストの内容を動的に追加する
a)リストオブジェクトを作成し、リストオブジェクトにコンテンツを追加する.
b)ArrayAdapterの4つのパラメータの構造関数を使用して、ArrayAdapterを使用しないオブジェクトを作成する.createFromResourceメソッドの作成
c)コードは以下の通りである.
             
 List<String> list = new ArrayList<String>();

              list.add("     ");

              list.add("     ");           

            //         Activity  

              //           Spinner    

              //                   

              //            List

              ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,

                     R.layout.item ,      

                     R.id.Items, 

                     list);


この方法を用いるにはadapterを用いる必要はない.setDropDownViewResourceリストスタイルを設定する