android 下拉列表(Spinner)的学习与应用

第一步,还是先新建一个工程

第二步。修改已经生成的res/layout/main.xml。整体替换为:

<?xmlversion="1.0"encoding="utf-8"?>

  1. <LinearLayout
  2. android:id="@+id/widget28"
  3. android:layout_width="fill_parent"
  4. android:layout_height="fill_parent"
  5. android:orientation="vertical"
  6. xmlns:android="http://schemas.android.com/apk/res/android">
  7. <TextView
  8. android:id="@+id/TextView_Show"
  9. android:layout_width="fill_parent"
  10. android:layout_height="wrap_content"
  11. android:text="你选择的是"
  12. android:textSize="25sp">
  13. </TextView>
  14. <Spinner
  15. android:id="@+id/spinner_City"
  16. android:layout_width="fill_parent"
  17. android:layout_height="wrap_content">
  18. </Spinner><!--定义一个下拉菜单-->
  19. </LinearLayout>

第三步。添加关键代码

  1. importjava.util.ArrayList;
  2. importjava.util.List;
  3. importandroid.app.Activity;
  4. importandroid.os.Bundle;
  5. importandroid.view.MotionEvent;
  6. importandroid.view.View;
  7. importandroid.widget.AdapterView;
  8. importandroid.widget.ArrayAdapter;
  9. importandroid.widget.Spinner;
  10. importandroid.widget.TextView;
  11. publicclassspinnerextendsActivity{
  12. /**Calledwhentheactivityisfirstcreated.*/
  13. privateList<String>list=newArrayList<String>();
  14. privateTextViewmyTextView;
  15. privateSpinnermySpinner;
  16. privateArrayAdapter<String>adapter;
  17. @Override
  18. publicvoidonCreate(BundlesavedInstanceState){
  19. super.onCreate(savedInstanceState);
  20. setContentView(R.layout.main);
  21. //第一步:添加一个下拉列表项的list,这里添加的项就是下拉列表的菜单项
  22. list.add("北京");
  23. list.add("上海");
  24. list.add("深圳");
  25. list.add("南京");
  26. list.add("重庆");
  27. myTextView=(TextView)findViewById(R.id.TextView_Show);
  28. mySpinner=(Spinner)findViewById(R.id.spinner_City);
  29. //第二步:为下拉列表定义一个适配器,这里就用到里前面定义的list。
  30. adapter=newArrayAdapter<String>(this,android.R.layout.simple_spinner_item,list);
  31. //第三步:为适配器设置下拉列表下拉时的菜单样式。
  32. adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  33. //第四步:将适配器添加到下拉列表上
  34. mySpinner.setAdapter(adapter);
  35. //第五步:为下拉列表设置各种事件的响应,这个事响应菜单被选中
  36. mySpinner.setOnItemSelectedListener(newSpinner.OnItemSelectedListener(){
  37. @SuppressWarnings("unchecked")
  38. publicvoidonItemSelected(AdapterViewarg0,Viewarg1,intarg2,longarg3){
  39. //TODOAuto-generatedmethodstub
  40. /*将所选mySpinner的值带入myTextView中*/
  41. myTextView.setText("您选择的是:"+adapter.getItem(arg2));
  42. /*将mySpinner显示*/
  43. arg0.setVisibility(View.VISIBLE);
  44. }
  45. @SuppressWarnings("unchecked")
  46. publicvoidonNothingSelected(AdapterViewarg0){
  47. //TODOAuto-generatedmethodstub
  48. myTextView.setText("NONE");
  49. arg0.setVisibility(View.VISIBLE);
  50. }
  51. });
  52. /*下拉菜单弹出的内容选项触屏事件处理*/
  53. mySpinner.setOnTouchListener(newSpinner.OnTouchListener(){
  54. publicbooleanonTouch(Viewv,MotionEventevent){
  55. //TODOAuto-generatedmethodstub
  56. /*将mySpinner隐藏,不隐藏也可以,看自己爱好*/
  57. v.setVisibility(View.INVISIBLE);
  58. returnfalse;
  59. }
  60. });
  61. /*下拉菜单弹出的内容选项焦点改变事件处理*/
  62. mySpinner.setOnFocusChangeListener(newSpinner.OnFocusChangeListener(){
  63. publicvoidonFocusChange(Viewv,booleanhasFocus){
  64. //TODOAuto-generatedmethodstub
  65. v.setVisibility(View.VISIBLE);
  66. }
  67. });
  68. }
  69. }
小结:

第一步:添加一个下拉列表项的list,这里添加的项就是下拉列表的菜单项
第二步:为下拉列表定义一个适配器,这里就用到里前面定义的list。
第三步:为适配器设置下拉列表下拉时的菜单样式。
第四步:将适配器添加到下拉列表上
第五步:为下拉列表设置各种事件的响应,这个事响应菜单被选中

本文转载自:http://blog.csdn.net/applezhengxd/article/details/5573693

更多相关文章

  1. Android 菜单(Menu)控件的使用
  2. Android 弹出菜单
  3. android之网络请求 -- 获取RecyclerView的列表项(图片 + 文字)
  4. Android 常用颜色列表
  5. Android省市区3级联动的地址列表的实现
  6. 教你如何创建类似QQ的android弹出菜单
  7. android TextView控件属性列表
  8. Android之BaseAdapter适配器使用技巧
  9. Android:控件Spinner实现下拉列表

随机推荐

  1. Android不继承ViewPager实现自动滚动翻页
  2. android getContext(),Context
  3. android studio的安装(史上最详细)
  4. Unity Android IL2CPP 编译报错的一种可
  5. Android之GPS定位详解
  6. android获取有效可用存储空间大小
  7. Android非5.0系统下singleTask singleIns
  8. Android 后台任务(七)内存泄露
  9. Android滑动手势侦测方法
  10. 使用最新Android(安卓)Studio搭建Android