android下拉菜单三级联动
来源:互联网 发布:js new date gmt 编辑:程序博客网 时间:2024/06/03 02:04
android中的下拉菜单联动应用非常普遍,android中的下拉菜单用Spinner就能实现,以下列子通过简单的代码实现三级菜单联动。
一 样式文件
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.spinner.MainActivity" > <Spinner android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/spn" android:dropDownWidth="200dp"/> <Spinner android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/spn" android:id="@+id/city" android:dropDownWidth="200dp"/> <Spinner android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/city" android:id="@+id/counstryside" android:dropDownWidth="200dp"/></RelativeLayout>
二 联动逻辑代码
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<String> 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//当时据为空的时候触发的}});}}
三 结果:
四 总结
三级联动主要是灵活的应用三维数组,这样能很方便的通过数组索引将三个菜单关联,同时通过设置Spinner的setOnItemSelectedListener来监听选择的动作,动态设置下拉菜单的内容。
3 0
- android下拉菜单三级联动
- 三级联动下拉菜单
- asp三级分类-联动下拉菜单
- 三级联动下拉菜单[调用数据库数据]
- ASP的三级联动下拉菜单
- asp.net DropDownList 三级联动下拉菜单
- 严格的三级联动日期下拉菜单
- 中国地区三级联动下拉菜单
- js实现年月日三级下拉菜单联动
- Thinkphp dwz 三级联动下拉菜单
- Thinkphp dwz 三级联动下拉菜单
- ajax实现三级联动下拉菜单
- php dwz 三级联动下拉菜单
- 三级联动的省市县下拉菜单
- ASP+JS三级联动下拉菜单
- 城市选择下拉菜单三级联动
- js实现年月日三级下拉菜单联动
- 自动筛选实现三级联动下拉菜单
- debian 8 安装 jenkins
- python初步实现word2vec
- Linux System and Performance Monitoring(Network篇)
- 上拉和下拉电阻作用
- Android动画之LayoutAnimation
- android下拉菜单三级联动
- Linux System and Performance Monitoring(总结篇)
- Android中的Binder机制的简要理解
- 使用Dynamic Shortcuts
- Java EE项目中异常设计及处理总结
- 【Visual Studio】VS 工程目录与文件
- JQuery----倒计时插件downCount
- ionic开发介绍之SASS介绍
- 正则表达式思维导图