//Android 自带的spinner下拉框控件是一个不错的系统控件,主要有两种实现方式:
//数据可以放在res\values中添加一个city资源数组文件使用ArrayAdapter 2.数据放入容器集合自定义Adapter
2 <resources>
3
4 <string-array name="city">
5 <item>北京</item>
6 <item>上海</item>
7 <item>广州</item>
8 <item>厦门</item>
9 </string-array>
10
11 </resources>
//设置代码
Spinner sp = (Spinner) findViewById(R.id.spinner1);
sp.setOnItemSelectedListener(new Spinner.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
Log.e("arg2",arg2);//position id
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
ArrayAdapter adapter =ArrayAdapter.createFromResource(this,R.array.city,android.R.layout.simple_spinner_dropdown_item);
sp.setAdapter(adapter);
sp.setSelection(0);//默认选择第一项
/
ArrayList<String> al=new ArrayList<String>();
al.add("北京");
al.add("上海");
Spinner sp = (Spinner)findViewById(R.id.spinner1);
sp.setOnItemSelectedListener(new Spinner.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
Log.e("arg2",arg2);//position id
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
ArrayAdapter<String> adapter =new ArrayAdapter<String>(this,android.R.layout.simple_spinner_dropdown_item,al);//加图片可自定义适配器
sp.setAdapter(adapter);
sp.setSelection(1);//默认选择第二项
//注:setAdapter()方法添加的时机必须在容器集合获取到相关数据后,否则spinner内容无法显示;
//spinner.setPrompt()设置标题 布局xml需要为 style="@android:style/Widget.Spinner"
//setSelection()方法在setAdapter后执行,否则无法选择指定项;初始化时不选中setSelection(0,true);
//资源文件转数组:getResources().getStringArray(R.array.x);