这里我使用3层级联菜单


这里就给示例把,不做过多的解释,代码中基本的注释


activity_main.xml代码

               

MainActivity.java代码


package com.example.spinner;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.AdapterView;import android.widget.AdapterView.OnItemSelectedListener;import android.widget.ArrayAdapter;import android.widget.Spinner;public class MainActivity extends Activity {//设置三级菜单private Spinner spinner_1;//1private Spinner spinner_2;//2private Spinner spinner_3;//3private ArrayAdapter adapter1,adapter2,adapter3;//对应的适配器private int provinceNum = 0;//下拉单数据的初始化private String province[] = {"江西省","上海市","江苏"};private String city[][] = {{"南昌","赣州"},{"上海1","上海2"},{"江苏","南京"}};private String area[][][] = {{{"南昌市","红谷滩","新建区"},{"章贡区","赣县"}},{{"上海11","上海111"},{"上海22"}},{{"江苏11","江苏22"},{"南京11","南京22"}}};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);spinner_1 = (Spinner)findViewById(R.id.spinner_1);spinner_2 = (Spinner)findViewById(R.id.spinner_2);spinner_3 = (Spinner)findViewById(R.id.spinner_3);//初始化,这里使用ArrayAdapteradapter1 = new ArrayAdapter(this, android.R.layout.simple_dropdown_item_1line, province);adapter2 = new ArrayAdapter<>(this, android.R.layout.simple_dropdown_item_1line, city[0]);adapter3 = new ArrayAdapter<>(this, android.R.layout.simple_dropdown_item_1line, area[0][0]);//设置选择事件spinner_1.setOnItemSelectedListener(new OnItemSelectedListener() {@Overridepublic void onItemSelected(AdapterView<?> parent, View view, int position, long id) {// TODO Auto-generated method stubadapter2 = new ArrayAdapter<>(MainActivity.this, android.R.layout.simple_dropdown_item_1line, city[position]);spinner_2.setAdapter(adapter2);//保存1级菜单position,为3级菜单显示的准备provinceNum = position;}@Overridepublic void onNothingSelected(AdapterView<?> parent) {// TODO Auto-generated method stub}});//2级菜单的选择事件spinner_2.setOnItemSelectedListener(new OnItemSelectedListener() {@Overridepublic void onItemSelected(AdapterView<?> parent, View view, int position, long id) {// TODO Auto-generated method stubadapter3 = new ArrayAdapter<>(MainActivity.this, android.R.layout.simple_dropdown_item_1line,area[provinceNum][position]);spinner_3.setAdapter(adapter3);}@Overridepublic void onNothingSelected(AdapterView<?> parent) {// TODO Auto-generated method stub}});spinner_1.setAdapter(adapter1);spinner_2.setAdapter(adapter2);spinner_3.setAdapter(adapter3);}}


结果图:

android级联下拉菜单_第1张图片

更多相关文章

  1. Android创建Menu菜单实例
  2. 【特效】3D旋转环形菜单
  3. 设置toolbar中弹出的menu菜单在toolbar的底部(下面)显示
  4. Android 使用BRVAH 实现二级菜单。类似QQ分组
  5. [置顶] Android入门基础(13) menu菜单汇总
  6. android RadioGroup与TabHost组合使用达到菜单效果
  7. Android --右上角弹出菜单
  8. 【Android】菜单功能的实现:使用XML
  9. 阅读《Android 从入门到精通》(28)——使用 XML 的选项菜单

随机推荐

  1. Android开发者必须深入学习的10个应用开
  2. Android中解析XML
  3. 【OSC手机App技术解析】- 集成新浪微博An
  4. Google Android开发精华教程
  5. Python中5个你可以能不知道的知识
  6. Python 的高级用法
  7. Python中容器类型转换的三种方法
  8. 使用 Lightly 在线格式化 HTML
  9. php用户登录,异步提交表单注册
  10. 属性与方法重载和命名空间与类自动加载器