Android实现二级联动,二级联动是非常常见实用的功能,用的比较多的就是地址选择了,今天就给大家讲讲如何实现:

 

效果图:

Android实现二级联动_第1张图片Android实现二级联动_第2张图片Android实现二级联动_第3张图片

 

布局文件:

 

 
<?xml version="1.0" encoding="utf-8"?>     


java代码:
 

package com.example.testandroid_0610;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.AdapterView;import android.widget.ArrayAdapter;import android.widget.AutoCompleteTextView;import android.widget.MultiAutoCompleteTextView;import android.widget.SimpleAdapter;import android.widget.Spinner;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;public class MainActivity extends AppCompatActivity {    private Spinner s_main_spinner;    private Spinner s_main_spinnerTwo;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        //获取控件        s_main_spinner = (Spinner) findViewById(R.id.s_main_spinner);        s_main_spinnerTwo = (Spinner) findViewById(R.id.s_main_spinnerTwo);        //设置省份        final String provinces[]={"湖南省","河南省","海南省"};        //给省份设置图标        int images[]={R.mipmap.bird,R.mipmap.cat,R.mipmap.chicken};        //添加市        final Map citys=new HashMap();        citys.put("湖南省",new String[]{"长沙市","衡阳市","益阳市"});        citys.put("河南省",new String[]{"郑州市","许昌市","周口市"});        citys.put("海南省",new String[]{"海口市","三亚市","文昌市"});        //将图标添加进集合        List> list=new ArrayList<>();        for (int i = 0; i < provinces.length; i++) {            Map map=new HashMap<>();            map.put("title",provinces[i]);            map.put("image",images[i]);            list.add(map);        }        //适配器        SimpleAdapter adapterSpinner=new SimpleAdapter(this,list,android.R.layout.activity_list_item,new String[]{"title","image"},new int[]{android.R.id.text1,android.R.id.icon});        //上面适配器引用的是系统布局,所以需要按照系统布局的方式来排列        s_main_spinner.setAdapter(adapterSpinner);        //给下拉列表设置选择事件        s_main_spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {            @Override            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {                //先根据下标拿到省份,再根据拿到的省份去集合中拿到市                String city[]=citys.get(provinces[position]);                //将拿到的市添加到适配器中                ArrayAdapter ada=new ArrayAdapter(MainActivity.this,android.R.layout.simple_list_item_1,city);                s_main_spinnerTwo.setAdapter(ada);            }            @Override            public void onNothingSelected(AdapterView<?> parent) {            }        });    }}


代码非常简单,希望对大家有帮助。

 

 

 

更多相关文章

  1. Android最简单的使用数组的适配器Adapter
  2. Android之自定义适配器
  3. android 适配器Adpter的使用总结 之 CursorAdpter
  4. Android 绘制中国地图及热点省份分布
  5. android listview继承BaseAdapter,自定义的适配器,getView方法执
  6. Android中ListView以及数组适配器(ArrayAdapter)的使用
  7. Android 网格视图(GirdView)简易适配器的使用
  8. Android回顾--(九) ListView和自定义适配器
  9. Android中的适配器(Adapter)

随机推荐

  1. 开发Android应用程序,原生开发VS中间件
  2. Google 给 7.1+ 加了段代码,让你觉得更安
  3. 分析你的第一个 Android(安卓)程序
  4. 初次修改 android app 代码
  5. Android列表选择框Spinner使用方法详解
  6. android相对布局的几组属性
  7. 深入揭发:Android(安卓)的声音延迟
  8. Android系统篇之----Android中的智能指针
  9. android Spinner控件详解
  10. Android为什么卡顿系统原理分析