样式部分xml

 1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 2     xmlns:tools="http://schemas.android.com/tools" 3     android:layout_width="match_parent" 4     android:layout_height="match_parent" 5     android:paddingBottom="@dimen/activity_vertical_margin" 6     android:paddingLeft="@dimen/activity_horizontal_margin" 7     android:paddingRight="@dimen/activity_horizontal_margin" 8     android:paddingTop="@dimen/activity_vertical_margin" 9     tools:context=".MainActivity" >10 11     <TextView12         android:id="@+id/textView1"13         android:layout_width="wrap_content"14         android:layout_height="wrap_content"15         android:text="请选择城市" />16 17     <Spinner18         android:id="@+id/spinner1"19         android:layout_width="wrap_content"20         android:layout_height="wrap_content"21         android:layout_alignLeft="@+id/textView1"22         android:layout_below="@+id/textView1" />23 24     <Spinner25         android:id="@+id/spinner2"26         android:layout_width="wrap_content"27         android:layout_height="wrap_content"28         android:layout_alignLeft="@+id/spinner1"29         android:layout_below="@+id/spinner1" />30 31 </RelativeLayout>

arrays部分xml

 1 <?xml version="1.0" encoding="utf-8"?> 2 <resources> 3    <string-array name="province"> 4         <item>-省份-</item> 5         <item>北京市</item> 6         <item>河北省</item> 7     </string-array> 8     <string-array name="hb"> 9         <item>-城市-</item>10         <item>承德市</item>11         <item>石家庄</item>12         <item>邯郸市</item>13         <item>邢台市</item>14         <item>廊坊市</item>15     </string-array>16     <string-array name="bj">17         <item>-城市-</item>18         <item>海淀区</item>19         <item>朝阳区</item>20         <item>崇文区</item>21         <item>昌平区</item>22     </string-array>23 </resources>            

Activity 部分

 1 package com.example.android_spinner; 2  3 import android.os.Bundle; 4 import android.app.Activity; 5 import android.view.Menu; 6 import android.view.View; 7 import android.widget.AdapterView; 8 import android.widget.ArrayAdapter; 9 import android.widget.Spinner;10 11 public class MainActivity extends Activity {12     // 声明组件13     private Spinner sr1;14     private Spinner sr2;15 16     @Override17     protected void onCreate(Bundle savedInstanceState) {18         super.onCreate(savedInstanceState);19         setContentView(R.layout.activity_main);20         // 获取组件21         sr1 = (Spinner) this.findViewById(R.id.spinner1);22         sr2 = (Spinner) this.findViewById(R.id.spinner2);23         // 添加String数组24         String[] province = getResources().getStringArray(R.array.province);25         ;26         // 将数组配置器链接上预置的文件27         // ArrayAdapter<CharSequence> aa = new ArrayAdapter<CharSequence>(this,28         // android.R.layout.simple_spinner_item,province);29 30         // 这样就可以直接获取xml中的数组了31         ArrayAdapter<CharSequence> aa = ArrayAdapter.createFromResource(this,32                 R.array.province, android.R.layout.simple_spinner_item);33 34         // 设置下拉菜单的样式35         aa.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);36         // 将数据绑定到spinner上37         sr1.setAdapter(aa);38 39         // 添加监听事件40 41         sr1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {42 43             @Override44             public void onItemSelected(AdapterView<?> arg0, View arg1,45                     int arg2, long arg3) {46                 // 得到事件中选中的值47                 Spinner s = (Spinner) arg0;48                 String pro = (String) s.getItemAtPosition(arg2);49                 ArrayAdapter<CharSequence> cityAdapter = null;50                 // 获取所在省含有哪些市(从资源数组文件中获取数据)51                 if (pro.equals("河北省")) {52 53                     cityAdapter = ArrayAdapter.createFromResource(54                             MainActivity.this, R.array.hb,55                             android.R.layout.simple_spinner_item);56                 } else if (pro.equals("北京市")) {57 58                     cityAdapter = ArrayAdapter.createFromResource(59                             MainActivity.this, R.array.bj,60                             android.R.layout.simple_spinner_item);61                 } 62                 sr2.setAdapter(cityAdapter);63             }64 65             @Override66             public void onNothingSelected(AdapterView<?> arg0) {67                 // TODO Auto-generated method stub68 69             }70 71         });72 73     }74 75     @Override76     public boolean onCreateOptionsMenu(Menu menu) {77         // Inflate the menu; this adds items to the action bar if it is present.78         getMenuInflater().inflate(R.menu.main, menu);79         return true;80     }81 82 }

实现效果:

更多相关文章

  1. Android屏幕尺寸、标题栏高度、状态栏高度、当前View尺寸
  2. 取消自动获取焦点(默认进来焦点到edittext),取消进入呼出软件盘
  3. Android(安卓)获取手机卡相关信息
  4. Android中定义数组与使用
  5. android:launchMode="singleTask" intent获取到的值没有更新
  6. Android(安卓)JNI(Java Native Interface)技术介绍
  7. Android获得摄像头详细信息
  8. Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面 .
  9. Android(安卓)原生获取地理位置

随机推荐

  1. 基于Android智能终端的远程控制系统
  2. Android基础入门教程——7.2.1 Android(
  3. Android(安卓)系统启动过程
  4. Android(安卓)网络请求框架之Rxjava+Retr
  5. JBuilder2005实战JSP之登录页面实现代码[
  6. Swoole扩展的6种模式深入详解
  7. 推荐一个好看Table表格的css样式代码详解
  8. JSP学习笔记
  9. 怎样画好人物头发?头发画法技巧教程
  10. PHP安全配置优化详解