Android实现二级联动
来源:互联网 发布:精易编程助手官网 编辑:程序博客网 时间:2024/05/21 15:24
Android实现二级联动,二级联动是非常常见实用的功能,用的比较多的就是地址选择了,今天就给大家讲讲如何实现:
效果图:
布局文件:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:orientation="vertical" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.testandroid_0610.MainActivity"> <Spinner android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/s_main_spinner" ></Spinner> <Spinner android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/s_main_spinnerTwo" ></Spinner></LinearLayout>
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<String,String[]> citys=new HashMap<String, String[]>(); citys.put("湖南省",new String[]{"长沙市","衡阳市","益阳市"}); citys.put("河南省",new String[]{"郑州市","许昌市","周口市"}); citys.put("海南省",new String[]{"海口市","三亚市","文昌市"}); //将图标添加进集合 List<Map<String,Object>> list=new ArrayList<>(); for (int i = 0; i < provinces.length; i++) { Map<String,Object> 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) { } }); }}
代码非常简单,希望对大家有帮助。
阅读全文
0 0
- Android实现二级联动
- Android实现二级联动
- Android Spinner实现二级联动
- Android开发实现二级联动下拉列表
- android省市二级联动的实现
- Android开发实现二级联动下拉列表
- Android横向二级联动菜单的实现
- 实现二级联动
- js 实现二级联动
- Ajax实现二级联动
- java 二级联动实现
- 怎样实现二级联动
- js实现二级联动
- JavaScript 实现二级联动
- JS实现二级联动
- 二级三级联动实现
- ajax实现二级联动
- html实现二级联动
- 总结:Javaweb网络编程遇到的错误
- 用户数据报协议UDP
- printf颜色
- C++primer学习笔记----拷贝控制
- ubuntu中常用命令&图形化界面安装vnc
- Android实现二级联动
- u-boot向linux内核传递启动参数(详细)
- Ubuntu下在当前目录打开命令行和终端
- servlet
- Dubbo与Zookeeper、Spring整合使用
- Local time zone must be set-see zic manual page
- 【Ionic】Ionic的cordova run运行命令CLI文档
- pyhthon--正则表达式
- Bootstrap布局组件