方法1(非动态创建):
Spinner创建:
1.在布局栏创建spinner控件。
<span style="font-size:18px;"> <Spinner
android:id="@+id/spinner1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="40dp" /></span>
2.在string.xml中声明一个数组
<span style="font-size:18px;"> <string-array name="users">
<item >first</item>
<item >second</item>
<item >third</item>
<item >forth</item>
<item >fifth</item>
</string-array></span>
3.创建数据适配器通过数据适配器把数据与控件绑定
第一个参数 当前对象
第二个参数 string.xml 中 string-array 节点的 name="user"
第三个参数 系统默认的文本样式
<span style="font-size:18px;"> ArrayAdapter Adapter = ArrayAdapter.createFromResource(
this,
R.array.users,
android.R.layout.simple_spinner_item);
Adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);</span>
4.获取Spinner对象sp,然后将数据导入sp中
<span style="font-size:18px;"> Spinner sp = (Spinner) findViewById(R.id.spinner1);
sp.setAdapter(Adapter);
sp.setPrompt("序号");</span>
Spinner创建:
1.首先要创建监听器对象,为OnItemSelectedListener对象。其中,onItemSelected函数中:第一个参数为:Spinner对象本身
第三个参数为:选中的位置
<span style="font-size:18px;"> OnItemSelectedListener listener =new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
String item;
item=arg0.getItemAtPosition(arg2).toString();
Toast.makeText(MainActivity.this, item, 0).show();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, "请选择一个选项", 0).show();
}
};</span>
2.使监听器对象,监听spinner控件
<span style="font-size:18px;"> sp.setOnItemSelectedListener(listener);</span>
方法2(动态创建):
1.在layout文件夹中创建布局文件item.xml,在其中加入TextView控件。
2.做数据,本例中使用了ArrayList来存储数据
<span style="font-size:18px;"> ArrayList<String> names = new ArrayList<String>();
names.add("Frank");
names.add("Chales");
names.add("Cross");
names.add("james");
names.add("Aaron");</span>
3.创建数据适配器,注意这次的参数和第一次的参数不一样
<span style="font-size:18px;"> ArrayAdapter adapter = new ArrayAdapter(
this,
R.layout.item,
R.id.tv_names,
names);</span>
4.创建Spinner对象,并连接adapter与Spinner对象
<span style="font-size:18px;"> Spinner sp = (Spinner) findViewById(R.id.spinner1);
sp.setAdapter(adapter);</span>
5.运行,得到结果