主要就是实现上面图片的功能
先建立一个arrays.xml文件,然后建立几个string数组
<?xml version="1.0" encoding="utf-8"?> <resources> <string-array name="cou1"> <item >江苏</item> <item >山东</item> </string-array> <string-array name="jiangsu"> <item >徐州</item> <item >南京</item> </string-array> <string-array name="shandong"> <item >泰安</item> <item >台儿庄</item> </string-array> </resources>
可以直接在布局文件中用entries对Spinner绑定一个数组
实现联动只要还是在后台代码中实现
final ArrayAdapter<String> ad1=new ArrayAdapter<String> (this,android.R.layout.simple_spinner_item, getResources().getStringArray(R.array.jiangsu));
首先得建立一个适配器,new的最后一个参数就是数组
也可以自己手动定义数组,这里面直接用到前台arrays.xml文件中的数组
对Spinner1设置setOnItemSelectedListener监听器
参数arg2就是spinner中选中元素的下标
package com.example.fuxi; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.widget.Adapter; import android.widget.AdapterView; import android.widget.AdapterView.OnItemSelectedListener; import android.widget.ArrayAdapter; import android.widget.Spinner; public class MainActivity extends Activity { Spinner sp1,sp2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); sp1=(Spinner)findViewById(R.id.spinner1); sp2=(Spinner)findViewById(R.id.spinner2); final ArrayAdapter<String> ad1=new ArrayAdapter<String> (this,android.R.layout.simple_spinner_item, getResources().getStringArray(R.array.jiangsu)); ad1.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line); final ArrayAdapter<String> ad2=new ArrayAdapter<String> (this,android.R.layout.simple_spinner_item, getResources().getStringArray(R.array.shandong)); ad2.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line); sp1.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) { // TODO 自动生成的方法存根 if(arg2==0){ sp2.setAdapter(ad1); } if(arg2==1){ sp2.setAdapter(ad2); } } @Override public void onNothingSelected(AdapterView<?> arg0) { // TODO 自动生成的方法存根 } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }