android中的下拉菜单联动应用非常普遍,android中的下拉菜单用Spinner就能实现,以下列子通过简单的代码实现三级菜单联动。

一 样式文件

                

二 联动逻辑代码

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;/** * @author ZMC * 三级联动主要是灵活的应用三维数组 */public class MainActivity extends Activity {private String province[] = new String[]{"江西","湖南"};private Spinner spinner1,spinner2,spinner3;private int provinceindex;private String city [][] = {{"南昌","赣州"},{"长沙","湘潭"}};private String counstryside [][][] = {{{"青山湖区","南昌县"},{"章贡区","赣县"}},{{"长沙县","沙县"},{"湘潭县","象限"}}};ArrayAdapter adapter1,adapter2,adapter3;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);spinner1 = (Spinner) findViewById(R.id.spn);adapter1 = new ArrayAdapter<>(this, android.R.layout.simple_dropdown_item_1line,province);spinner1.setAdapter(adapter1);spinner2  = (Spinner)findViewById(R.id.city);adapter2 = new ArrayAdapter<>(this, android.R.layout.simple_dropdown_item_1line,city[0]);spinner2.setAdapter(adapter2);spinner3 = (Spinner)findViewById(R.id.counstryside);adapter3 = new ArrayAdapter<>(this, android.R.layout.simple_dropdown_item_1line,counstryside[0][0]);spinner3.setAdapter(adapter3);spinner1.setOnItemSelectedListener(new OnItemSelectedListener() {@Overridepublic void onItemSelected(AdapterView<?> parent, View view,int position, long id) {// TODO Auto-generated method stubprovinceindex = position;adapter2 = new ArrayAdapter<>(MainActivity.this, android.R.layout.simple_dropdown_item_1line,city[position]);spinner2.setAdapter(adapter2);}@Overridepublic void onNothingSelected(AdapterView<?> parent) {// TODO Auto-generated method stub}});spinner2.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,counstryside[provinceindex][position]);//adapter3.notifyDataSetChanged();spinner3.setAdapter(adapter3);}@Overridepublic void onNothingSelected(AdapterView<?> parent) {// TODO Auto-generated method stub//当时据为空的时候触发的}});}}

三 结果:

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

四 总结

三级联动主要是灵活的应用三维数组,这样能很方便的通过数组索引将三个菜单关联,同时通过设置Spinner的setOnItemSelectedListener来监听选择的动作,动态设置下拉菜单的内容。

更多相关文章

  1. android ListView 示例1 entries 指定一个数组资源
  2. 【Android 应用开发】Android资源文件 - 使用资源存储字符串 颜
  3. Android Launcher3去除应用列表,二级菜单,应用全部在桌面显示
  4. android侧滑菜单实现
  5. Android 底部菜单栏RadioButton+Fragment
  6. Android(不)联动的顶层菜单栏tabLayout+viewPager
  7. android 底部菜单
  8. TabHost与RadioGroup结合完成的菜单

随机推荐

  1. Android多进程模式
  2. Android中EventBus事件总线发送网络请求
  3. Android音频开发(3):如何播放一帧音频
  4. Android各种访问权限Permission详解
  5. android 的线程模型和AsyncTask
  6. Android(安卓)GPS学习笔记—HAL实现
  7. Android(安卓)Power Management
  8. Android绘图之绘制太极图
  9. Android(安卓)AsyncTask实现异步任务的执
  10. Android(安卓)Studio 常见 Build 问题 Er