1、静态绑定下拉框数据

需要将数据写在xml中,然后设置下拉框的entries属性,则数据自动加载到下拉框中。具体如下:

在value文件夹中新建cityInfo.xml,xml中写入

[html] view plain copy
  1. <?xmlversion="1.0"encoding="utf-8"?>
  2. <resources>
  3. <string-arrayname="cityArray">
  4. <item>北京</item>
  5. <item>江苏</item>
  6. <item>浙江</item>
  7. <item>上海</item>
  8. </string-array>
  9. </resources>
设计页面控件代码:

[html] view plain copy
  1. <Spinnerandroid:id="@+id/spinnerCityStatic"
  2. android:layout_width="wrap_content"
  3. android:layout_height="wrap_content"
  4. android:entries="@array/cityArray"/>

2、动态绑定下拉框数据

主要三个步骤,1.获得数据列表;2.填充数据适配器;3.设置下拉框的适配器;

[java] view plain copy
  1. privateSpinnerspCity=null;
  2. privateArrayAdapter<CharSequence>adapterCity=null;
  3. privatestaticString[]cityInfo={"北京","江苏","浙江","上海"};
  4. //初始化函数中代码如下
  5. this.spCity=(Spinner)super.findViewById(R.id.spinnerCity);
  6. //将数据cityInfo填充到适配器adapterCity中
  7. this.adapterCity=newArrayAdapter<CharSequence>(this,
  8. android.R.layout.simple_spinner_dropdown_item,cityInfo);
  9. //设置下拉框的数据适配器adapterCity
  10. this.spCity.setAdapter(adapterCity);

3、选择时触发的事件

需要实现OnItemSelectedListener接口的onItemSelected方法,代码如下

[java] view plain copy
  1. //下拉框选择事件
  2. privateclassOnItemSelectedListenerImplimplementsOnItemSelectedListener{
  3. @Override
  4. publicvoidonItemSelected(AdapterView<?>parent,Viewview,
  5. intposition,longid){
  6. Stringcity=parent.getItemAtPosition(position).toString();
  7. Toast.makeText(MainActivity.this,"选择的城市是:"+city,
  8. Toast.LENGTH_LONG).show();
  9. }
  10. @Override
  11. publicvoidonNothingSelected(AdapterView<?>parent){
  12. //TODOAuto-generatedmethodstub
  13. }
  14. }

4、获得下拉框所选的值

[java] view plain copy
  1. StringcityStatic=spCityStatic.getSelectedItem().toString();
项目完整代码:

前台设计页面activity_main.xml如下:

[html] view plain copy
  1. <?xmlversion="1.0"encoding="utf-8"?>
  2. <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
  3. android:orientation="vertical"
  4. android:layout_width="match_parent"
  5. android:layout_height="match_parent">
  6. <Spinner
  7. android:id="@+id/spinnerCityStatic"
  8. android:layout_width="wrap_content"
  9. android:layout_height="wrap_content"
  10. android:entries="@array/cityArray"/>
  11. <Spinner
  12. android:id="@+id/spinnerCity"
  13. android:layout_width="wrap_content"
  14. android:layout_height="wrap_content"/>
  15. <Button
  16. android:id="@+id/btnShowCity"
  17. android:layout_width="wrap_content"
  18. android:layout_height="wrap_content"
  19. android:text="查看选择的结果"/>
  20. </LinearLayout>
后台页面MainActivity.java代码:

[java] view plain copy
  1. packagecom.example.spinner0803;
  2. importandroid.app.Activity;
  3. importandroid.os.Bundle;
  4. importandroid.view.View;
  5. importandroid.view.View.OnClickListener;
  6. importandroid.widget.AdapterView;
  7. importandroid.widget.AdapterView.OnItemSelectedListener;
  8. importandroid.widget.ArrayAdapter;
  9. importandroid.widget.Button;
  10. importandroid.widget.Spinner;
  11. importandroid.widget.Toast;
  12. publicclassMainActivityextendsActivity{
  13. privateButtonbtnShowCity=null;
  14. privateSpinnerspCityStatic=null;
  15. privateSpinnerspCity=null;
  16. privateArrayAdapter<CharSequence>adapterCity=null;
  17. privatestaticString[]cityInfo={"北京","江苏","浙江","上海"};
  18. @Override
  19. protectedvoidonCreate(BundlesavedInstanceState){
  20. super.onCreate(savedInstanceState);
  21. setContentView(R.layout.activity_main);
  22. //按钮相关
  23. btnShowCity=(Button)super.findViewById(R.id.btnShowCity);
  24. btnShowCity.setOnClickListener(newOnClickListenerImpl());
  25. //静态实现的下拉框,数据写在cityInfo.xml文件中
  26. this.spCityStatic=(Spinner)super
  27. .findViewById(R.id.spinnerCityStatic);
  28. this.spCityStatic
  29. .setOnItemSelectedListener(newOnItemSelectedListenerImpl());
  30. //动态实现的下拉框,数据在程序中获得,实际项目可能来自数据库等
  31. this.spCity=(Spinner)super.findViewById(R.id.spinnerCity);
  32. this.adapterCity=newArrayAdapter<CharSequence>(this,
  33. android.R.layout.simple_spinner_dropdown_item,cityInfo);
  34. this.spCity.setAdapter(adapterCity);
  35. this.spCity.setOnItemSelectedListener(newOnItemSelectedListenerImpl());
  36. }
  37. //按钮点击事件
  38. privateclassOnClickListenerImplimplementsOnClickListener{
  39. @Override
  40. publicvoidonClick(Viewv){
  41. StringcityStatic=spCityStatic.getSelectedItem().toString();
  42. Stringcity=spCity.getSelectedItem().toString();
  43. StringselectInfo="第一个选择的城市是:"+city+",第二个选择的城市是:"
  44. +cityStatic;
  45. Toast.makeText(MainActivity.this,selectInfo,Toast.LENGTH_LONG)
  46. .show();
  47. }
  48. }
  49. //下拉框选择事件
  50. privateclassOnItemSelectedListenerImplimplementsOnItemSelectedListener{
  51. @Override
  52. publicvoidonItemSelected(AdapterView<?>parent,Viewview,
  53. intposition,longid){
  54. Stringcity=parent.getItemAtPosition(position).toString();
  55. Toast.makeText(MainActivity.this,"选择的城市是:"+city,
  56. Toast.LENGTH_LONG).show();
  57. }
  58. @Override
  59. publicvoidonNothingSelected(AdapterView<?>parent){
  60. //TODOAuto-generatedmethodstub
  61. }
  62. }

  1. }




原文地址:http://blog.csdn.net/pfe_Nova/article/details/38362193

更多相关文章

  1. 把android db文件导入到项目中
  2. android存储方式(转)
  3. [置顶] Android大数据读取与折半查找(初步测试几毫秒)
  4. Android(安卓)自定义感光器控件SolarProgressView,也可当做普通Pr
  5. android 数据库 sqlite 操作
  6. android通过HTTP协议上传文件至远程服务器
  7. Android(安卓)Update Engine分析(七) DownloadAction之FileWriter
  8. SharedPreferences存与取,
  9. android 仿微信多图选择器(带预览、照相功能)

随机推荐

  1. Android中弹出对话框的实现
  2. Android攻城师需要掌握的技术
  3. 阿里巴巴Android开发手册
  4. Android(安卓)Service——在子线程中更新
  5. 又一年对Android消息机制(Handler&Looper)
  6. Android(安卓)Webview开发基本使用总结(一
  7. Android动画效果 translate、scale、alph
  8. Linux/Android——input_handler之evdev
  9. Android(安卓)最全面的Android(安卓)Stud
  10. Android中的ANR异常如何分析又该怎么去避