Android 常见控件Spinner

1.什么是spinner



2.创建一个Spinner的步骤

①在布局文件当中声明

android:id ="@+id/spinnerId"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

/>


②在String.xml当中声明一个数组:                           //一个item就是一个对象     ,为Spinner下拉列表提供数据

Mercury

Venus

Earth

Mars

Jupiter

Saturn

Uranus

Neptune

③创建一个ArrayAdapter:

ArrayAdapter  adapter = 

ArrayAdapter,createFromResource(

           this,                                                                  //一个Content对象,第一个参数是指上下文对象

           R.array,planets_array,                                //调用String. xml的array对象,第二个参数引用了在String.xml文件当中定义的string数组

           android,R,layout.simple_spinner_item);                      //定义下拉菜单的样式,第三个参数是用来指定Spinner的样式,是一个布局文件ID,该布局文件由Android系统提供,也可替换为自己定义的布局文件

adapter.setDropDownViewResource(

          android.R.layout.simple_spinner_dropdown_item);                              //定义下拉菜单每一个item的样式,设置Spinner当中每一个条目的样式,同样是引用一个Android系统提供的布局文件 

④得到Spninner对象,并设置数据:
Spinner = 

(Spinner)findViewById(R.id.spinnerId);

spinner.setAdapter(adapter);

spinner.setPrompt("测试" );                                                //设置标题




创建一个监听器              这个监听器主要用来监听用户选择列表的动作

class SpinnerOnSelectedListener implements OnItemSelectedListener{

public void onitemSelected(AdapterView 

    adapterView,Viewview,int position,                                    //  AdapterVIew    代表当前整个列表      view当前被选中的View      position选中的位置     id  选中的id,当用户选定一个条目时,就会调用该方法

long id ){

String selected = 

              adapterView.getItemAtPosition(position).toString();

}

public void onNothingSelected(AdapterViewadapterView )

{

System.out.println("nothing selected");

}




spinner.setOnItemSelectedListener(new SpinnerOnSelectedListener());   为Spinner对象绑定监听器









ArrayAdapter的另外一种使用方法

除了从可以使用Strings.xml文件当中的数组创建ArraryAdapter之外,还可以动态的创建ArrayAdapter

List list = new ArrayList ():

list.add("test1");

list.add("test2");

ArrayAdapter adapter = new ArrayAdapter(this,R.layout.item,R.id.textViewId,list);        //调用Arrayadapter的构造函数来创建ArrayAdapter对象

    //this ,   Context, 第一个参数是指上下文对象            ;          R.layout.item 每一个条目的布局文件 ,      第二个参数指定了下拉菜单当中每一个条目的样式

   R.id.textviewId 可以任意写,单里面必须有一个textview,用来显示条目是什么,第三个参数指定了Textview控件的id                ;    

 list就是这个数据,第四个参数为整个列表提供数据(可以放任何对象,它会把这个对象调用toString方法得到的结果复制给textview)









你可能感兴趣的:(安卓)