Spinner 下拉菜单
以前做web的时候,web实现一个下拉菜单是一个非常困难的事情,基本都是使用的原生态的<select> <option>标签,最后导致呈现的样式与操作系统有关,特别是在ios系统上用户选择后还得确认一下,总之各种杯具啊……
如果使用Spinner
1、首先创建一个ArrayAdapter
参照api有好几种
使用strings.xml <string-array >
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.arrays, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); // 设置选项的样式
同样也可以使用自己定义的集合,不依赖xml
List<String> list = new ArrayList<String>();
list.add("basketball");
list.add("football");
ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item, list);
其中android.R 是Android系统自带的样式
也可以自定义样式
ArrayAdapter adapter = new ArrayAdapter(MainActivity.this, R.layout.item, R.id.textViewId, list);
spinner.setAdapter(adapter);//设置adapter
spinner.setPrompt("hobbies");//设置标题
最后就是写个Listener 实现 OnItemSelectedListener接口
需要注意一点的是:如果使用集合传递数据的话,最终下拉列表上显示的是集合中对象obj.tostring 方法
原文:http://blog.csdn.net/codetomylaw/article/details/21979267