Spinner用于在用户需要进行选择时提供一个下拉菜单,提供较好的用户体验。使用Spinner的方法: 1. 在Activity所对应的xml中生成一个Spinner。 2. 使用ArrayList或数组作为Spinner的数据源,为Spinner设置数据。 ArrayAdapter<String> adapter; //将可选内容与ArrayAdapter连接起来,使用android系统提供的布局 adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,m); //设置下拉列表的风格 adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); //将adapter添加到spinner中 spinner.setAdapter(adapter); 3. 为Spinner绑定监听器,其某项被选中时执行什么操作。 //添加事件Spinner事件监听 spinner.setOnItemSelectedListener(new SpinnerSelectedListener()); SpinnerSelectedListener实现接口OnItemSelectedListener,并复写其中的onItemSelected和onNothingSelected方法。 另外,Spinner还可以使用其他格式的数据源。如xml作为数据源。在values下新建一个arrays的xml文件,然后在文件中填写以下内容: <?xml version="1.0" encoding="utf-8"?> <resources> <string-array name="plantes"> <item>NOKIA</item> <item>MOTO</item> <item>HTC</item> <item>LG</item> <item>其他</item> </string-array> </resources> 然后使用时下面代码将可选内容与ArrayAdapter连接起来 adapter = ArrayAdapter.createFromResource(this, R.array.plantes, android.R.layout.simple_spinner_item); 关于数组适配器,刚接触时不太容易理解。是数据和视图之间的桥梁,数据在adapter中做处理,然后显示到视图上面。 创建一个数组适配器的代码,里面有三个参数,第一个参数是上下文,就是当前的Activity, 第二个参数是android sdk中自己内置的一个布局,也可以改成自己定义的布局文件,用于显示数据。这个参数是表明我们数组中每一条数据的布局是这个view,就是将每一条
数据都显示在这个view上面;第三个参数就是我们要显示的数据。listView会根据这三个参数,遍历ArrayList或者数组或者xml资源文件里面的每一条数据,读出一条,显示到第二个参数对应的布局中,这样就形成了我们看到的listView. |
|