• Android 省市区三级联动


      1 package com.example.homeworkday04_2;
      2 
      3 import java.util.ArrayList;
      4 import java.util.HashMap;
      5 import java.util.LinkedHashMap;
      6 import java.util.List;
      7 import java.util.Map;
      8 
      9 import android.os.Bundle;
     10 import android.R.string;
     11 import android.app.Activity;
     12 import android.util.Log;
     13 import android.view.View;
     14 import android.widget.AdapterView;
     15 import android.widget.AdapterView.OnItemSelectedListener;
     16 import android.widget.ArrayAdapter;
     17 import android.widget.Spinner;
     18 
     19 public class MainActivity extends Activity {
     20     private Spinner provinceSpinner = null; // 省级(省、直辖市)
     21     private Spinner citySpinner = null; // 地级市
     22     private Spinner countySpinner = null; // 县级(区、县、县级市)
     23     ArrayAdapter<String> provinceAdapter = null; // 省级适配器
     24     ArrayAdapter<String> cityAdapter = null; // 地级适配器
     25     ArrayAdapter<String> countyAdapter = null; // 县级适配器
     26     private Map<String, Map<String, ArrayList<String>>> map = new HashMap<String, Map<String, ArrayList<String>>>();
     27     Map<String, ArrayList<String>> map2 = new HashMap<String, ArrayList<String>>();
     28     Map<String, ArrayList<String>> map3 = new HashMap<String, ArrayList<String>>();
     29 
     30     protected void onCreate(Bundle savedInstanceState) {
     31         super.onCreate(savedInstanceState);
     32         setContentView(R.layout.activity_main);
     33         ArrayList<String> counties = new ArrayList<String>();
     34         counties.add("郑州a区");
     35         counties.add("郑州b区");
     36         counties.add("郑州c区");
     37         map2.put("郑州", counties);
     38         ArrayList<String> counties1 = new ArrayList<String>();
     39         counties1.add("洛阳a区");
     40         counties1.add("洛阳b区");
     41         counties1.add("洛阳c区");
     42         map2.put("洛阳", counties1);
     43         map.put("河南", map2);
     44         ArrayList<String> counties2 = new ArrayList<String>();
     45         counties2.add("保定a区");
     46         counties2.add("保定b区");
     47         counties2.add("保定c区");
     48         map3.put("保定", counties2);
     49         ArrayList<String> counties3 = new ArrayList<String>();
     50         counties3.add("石家庄a区");
     51         counties3.add("石家庄b区");
     52         counties3.add("石家庄区c");
     53         map3.put("石家庄", counties3);
     54         map.put("河北", map3);
     55         provinceSpinner = (Spinner) findViewById(R.id.spinner1);
     56         citySpinner = (Spinner) findViewById(R.id.spinner2);
     57         countySpinner = (Spinner) findViewById(R.id.spinner3);
     58         // 省市联动
     59         List<String> provicesList = new ArrayList<String>(map.keySet());
     60         provinceAdapter = new ArrayAdapter<String>(this,
     61                 android.R.layout.simple_spinner_item, provicesList);
     62         provinceSpinner.setAdapter(provinceAdapter);
     63         provinceSpinner.setOnItemSelectedListener(new OnItemSelectedListener() {
     64 
     65             @Override
     66             public void onItemSelected(AdapterView<?> parent, View view,
     67                     int position, long id) {
     68                 // TODO Auto-generated method stub
     69                 String string = (String) parent.getItemAtPosition(position);
     70                 map2 = map.get(string);// 获得市县级联动map 这里可以重写一个map 因为省市的原因就拿来用了
     71                                         // 他把原来的 覆盖了
     72                 List<String> cityList = new ArrayList<String>(map2.keySet());// 或得市列表
     73                 cityAdapter = new ArrayAdapter<String>(MainActivity.this,
     74                         android.R.layout.simple_spinner_item, cityList);
     75                 citySpinner.setAdapter(cityAdapter);
     76 
     77             }
     78 
     79             @Override
     80             public void onNothingSelected(AdapterView<?> parent) {
     81                 // TODO Auto-generated method stub
     82 
     83             }
     84         });
     85         // 市县级联动监听
     86         citySpinner.setOnItemSelectedListener(new OnItemSelectedListener() {
     87 
     88             @Override
     89             public void onItemSelected(AdapterView<?> parent, View view,
     90                     int position, long id) {
     91                 // TODO Auto-generated method stub
     92                 String string = (String) parent.getItemAtPosition(position);
     93                 System.out.println(string);
     94                 List<String> countylList = map2.get(string);
     95                 System.out.println(countylList.toString());
     96 
     97                 countyAdapter = new ArrayAdapter<String>(MainActivity.this,
     98                         android.R.layout.simple_spinner_item, countylList);
     99                 countySpinner.setAdapter(countyAdapter);
    100 
    101             }
    102 
    103             @Override
    104             public void onNothingSelected(AdapterView<?> parent) {
    105                 // TODO Auto-generated method stub
    106 
    107             }
    108         });
    109 
    110     }
    111 
    112 }
    在有限的人生中,你总是在追寻更大的世界, 在忙碌中,赢得更多人生财富, 也在前进中,扩展生命的宽度, 活在当下,去收获更多激情,也活出自我,懂得放弃更多,每一次的自由,让心更辽阔, 你走得越远,就越知道, 世界再大,总有牵挂, 因为,爱,一直都在!
  • 相关阅读:
    ActiveMQ
    Solr学习笔记(4) —— SolrCloud的概述和搭建
    Solr学习笔记(3) —— SolrJ管理索引库&集群
    JAVA 平台
    JMS(Java平台上的专业技术规范)
    zookeeper 分布式管理
    java 类型转换
    聚集索引 非聚类索引 区别 二
    聚集索引 非聚类索引 区别
    阶乘
  • 原文地址:https://www.cnblogs.com/xiaoxiaoshen/p/5115633.html
Copyright © 2020-2023  润新知