1.效果图

clip_image002[10]

2.创建页面文件(main.xml)

 1     <Spinner 2         android:id="@+id/spinner1" 3         android:layout_width="match_parent" 4         android:layout_height="wrap_content" /> 5  6     <TextView 7         android:id="@+id/tvResult" 8         android:layout_width="match_parent" 9         android:layout_height="wrap_content"10         android:text="选择的水果" />

3.创建下拉框的数据源

1        List<String> list = new ArrayList<String>();2        list.add("苹果"); 5        list.add("香蕉"); 7        list.add("橘子"); 9        list.add("香蕉");

4.创建适配器(下拉框的数据源是来自适配器)

ArrayAdapter<String> adapter=new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item,list);

5.为适配器添加样式

adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 

系统提供的样式如下

l simple_spinner_dropdown_item(列表-间距较高比较好看)

clip_image004[10]

l simple_spinner_item(列表-间距紧凑不好看)

clip_image006[10]

l simple_list_item_checked(复选框-选中的有绿沟)

clip_image008[10]

l simple_list_item_single_choice (单选按钮)

clip_image010[10]

6.向控件Spinner添加适配器

1       Spinner sp=(Spinner) findViewById(R.id.spinner1);2       sp.setAdapter(adapter); 

释义

1. setAdapter(SpinnerAdapter adapter) ,从类的继承关系上看ArrayAdapterSpinnerAdapter接口的间接实现类

clip_image012[10]

7.实现选择项事件(使用匿名类实现接口)

 1         sp.setOnItemSelectedListener(new OnItemSelectedListener() { 2             // parent: 为控件Spinner   view:显示文字的TextView   position:下拉选项的位置从0开始   3             public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 4                 TextView tvResult = (TextView) findViewById(R.id.tvResult); 5                 //获取Spinner控件的适配器 6                 ArrayAdapter<String> adapter = (ArrayAdapter<String>) parent.getAdapter(); 7                 tvResult.setText(adapter.getItem(position)); 8             } 9              //没有选中时的处理10             public void onNothingSelected(AdapterView<?> parent) {11             }12         });

8.后台整体代码如下

 1     public void onCreate(Bundle savedInstanceState) { 2         super.onCreate(savedInstanceState); 3         setContentView(R.layout.main); 4         List<String> list = new ArrayList<String>(); 5         list.add("苹果"); 6         list.add("香蕉"); 7         list.add("橘子"); 8         list.add("香蕉"); 9         ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, list);10         adapter.setDropDownViewResource(android.R.layout.simple_list_item_single_choice);11         Spinner sp = (Spinner) findViewById(R.id.spinner1);12         sp.setAdapter(adapter);13         sp.setOnItemSelectedListener(new OnItemSelectedListener() {14             // parent: 为控件Spinner   view:显示文字的TextView   position:下拉选项的位置从0开始  15             public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {16                 TextView tvResult = (TextView) findViewById(R.id.tvResult);17                 //获取Spinner控件的适配器18                 ArrayAdapter<String> adapter = (ArrayAdapter<String>) parent.getAdapter();19                 tvResult.setText(adapter.getItem(position));20             }21              //没有选中时的处理22             public void onNothingSelected(AdapterView<?> parent) {23             }24         });25     }

更多相关文章

  1. 基本控件学习以( RadioGroup和RadioButton 的学习使用)
  2. Android 获取控件宽高
  3. Android 控件属性
  4. Android重要控件概览(上)
  5. Android:控件布局(相对布局)RelativeLayout(转)
  6. Android子控件超出父控件方法
  7. Android 控件 ListView
  8. TextView(标签控件)
  9. Android的EditText控件常用属性

随机推荐

  1. MySQL 撤销日志与重做日志(Undo Log与Red
  2. mysql常用sql与命令之从入门到删库跑路
  3. 详解MySQL 查询语句的执行过程
  4. MySQL EXPLAIN语句的使用示例
  5. mysql 行列转换的示例代码
  6. 详解MySQL 数据库隔离级别与MVCC
  7. 解决mysql删除用户 bug的问题
  8. 详解分析MySQL8.0的内存消耗
  9. MySQL数据备份方法的选择与思考
  10. MySQL 分表分库怎么进行数据切分