多层下拉框
来源:互联网 发布:软件集成工具箱制作 编辑:程序博客网 时间:2024/05/18 03:44
package com.scxh;import java.util.ArrayList;import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.AdapterView;import android.widget.AdapterView.OnItemSelectedListener;import android.widget.ArrayAdapter;import android.widget.Spinner;import android.widget.TextView;public class MainActivity extends Activity {private ArrayList<String> city;private ArrayList<String> qu;private LayoutInflater inflater;private String[] sheng;private String[] sc_city;private String[] gd_city;private String[] cd_qu;private String[] zy_qu;private MyAdapter1 mMyAdapter1;private MyAdapter2 mMyAdapter2;private MyAdapter3 mMyAdapter3;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);sheng = getResources().getStringArray(R.array.sheng);sc_city = getResources().getStringArray(R.array.sc_city);gd_city = getResources().getStringArray(R.array.gd_city);cd_qu = getResources().getStringArray(R.array.cd_qu);zy_qu = getResources().getStringArray(R.array.zy_qu);city=new ArrayList<String>();qu=new ArrayList<String>();Spinner spinner1 = (Spinner) findViewById(R.id.spinner1);mMyAdapter1 = new MyAdapter1(this, -1);spinner1.setAdapter(mMyAdapter1);spinner1.setOnItemSelectedListener(new MyOnItemSelectedListener1());Spinner spinner2 = (Spinner) findViewById(R.id.spinner2);mMyAdapter2 = new MyAdapter2(this, -1);spinner2.setAdapter(mMyAdapter2);spinner2.setOnItemSelectedListener(new MyOnItemSelectedListener2());Spinner spinner3 = (Spinner) findViewById(R.id.spinner3);mMyAdapter3 = new MyAdapter3(this, -1);spinner3.setAdapter(mMyAdapter3);}class MyAdapter1 extends ArrayAdapter<String> {public MyAdapter1(Context context, int resource) {super(context, resource);inflater = LayoutInflater.from(context);}@Overridepublic int getCount() {return sheng.length;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {if (convertView == null) {convertView = inflater.inflate(R.layout.buju, null);}TextView textview = (TextView) convertView.findViewById(R.id.textview);textview.setText(sheng[position]);return convertView;}@Overridepublic View getDropDownView(int position, View convertView, ViewGroup parent) {if (convertView == null) {convertView = inflater.inflate(R.layout.buju, null);}TextView textview = (TextView) convertView.findViewById(R.id.textview);textview.setText(sheng[position]);return convertView;}}class MyAdapter2 extends ArrayAdapter<String> {public MyAdapter2(Context context, int resource) {super(context, resource);inflater = LayoutInflater.from(context);}@Overridepublic int getCount() {return city.size();}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {if (convertView == null) {convertView = inflater.inflate(R.layout.buju, null);}TextView textview = (TextView) convertView.findViewById(R.id.textview);textview.setText(city.get(position));return convertView;}@Overridepublic View getDropDownView(int position, View convertView, ViewGroup parent) {if (convertView == null) {convertView = inflater.inflate(R.layout.buju, null);}TextView textview = (TextView) convertView.findViewById(R.id.textview);textview.setText(city.get(position));return convertView;}}class MyAdapter3 extends ArrayAdapter<String> {public MyAdapter3(Context context, int resource) {super(context, resource);inflater = LayoutInflater.from(context);}@Overridepublic int getCount() {return qu.size();}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {if (convertView == null) {convertView = inflater.inflate(R.layout.buju, null);}TextView textview = (TextView) convertView.findViewById(R.id.textview);textview.setText(qu.get(position));return convertView;}@Overridepublic View getDropDownView(int position, View convertView, ViewGroup parent) {if (convertView == null) {convertView = inflater.inflate(R.layout.buju, null);}TextView textview = (TextView) convertView.findViewById(R.id.textview);textview.setText(qu.get(position));return convertView;}}class MyOnItemSelectedListener1 implements OnItemSelectedListener {@Overridepublic void onItemSelected(AdapterView<?> parent, View view, int position, long id) {switch (position) {case 0:city.clear();for (String i : sc_city) {city.add(i);}mMyAdapter2.notifyDataSetChanged();break;case 1:city.clear();for (String i : gd_city) {city.add(i);}mMyAdapter2.notifyDataSetChanged();break;default:break;}}@Overridepublic void onNothingSelected(AdapterView<?> parent) {}}class MyOnItemSelectedListener2 implements OnItemSelectedListener {@Overridepublic void onItemSelected(AdapterView<?> parent, View view, int position, long id) {switch (position) {case 0:qu.clear();for (String i : cd_qu) {qu.add(i);}mMyAdapter3.notifyDataSetChanged();break;case 1:qu.clear();for (String i : zy_qu) {qu.add(i);}mMyAdapter3.notifyDataSetChanged();break;default:break;}}@Overridepublic void onNothingSelected(AdapterView<?> parent) {}}}
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/LinearLayout1" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" tools:context="com.scxh.MainActivity" > <Spinner android:id="@+id/spinner1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" /> <Spinner android:id="@+id/spinner2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" /> <Spinner android:id="@+id/spinner3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" /></LinearLayout>
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:id="@+id/textview" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout>
<?xml version="1.0" encoding="utf-8"?><resources> <string-array name="sheng"> <item >四川</item> <item >广东</item> <item >青海</item> <item >陕西</item> </string-array> <string-array name="sc_city"> <item >成都</item> <item >资阳</item> <item >绵阳</item> <item >广元</item> <item >简阳</item> </string-array> <string-array name="gd_city"> <item >广州</item> <item >深圳</item> <item >中山</item> <item >东莞</item> </string-array> <string-array name="cd_qu"> <item >金牛</item> <item >成华</item> <item >高薪</item> <item >青羊</item> <item >武侯</item> <item >锦江</item> </string-array> <string-array name="zy_qu"> <item >安岳</item> <item >乐至</item> <item >1</item> <item >2</item> <item >3</item> </string-array></resources>
0 0
- 多层下拉框
- Multi-Level Drop Down Menu (多层下拉菜单)
- 用复选框动态实现多层分组
- dwz多层弹出框刷新问题
- 下拉框
- 下拉框
- 下拉框
- 下拉框
- 下拉框
- 下拉框
- 下拉框
- 下拉框
- 下拉框
- 下拉框
- 下拉框
- 下拉框
- 下拉框
- 下拉框
- Intel Threading Building Blocks 编程指南:互斥
- MongoDB小结19 - find【查询条件$all】
- 【Python】Python的数据分析(四)——数据及绘图
- Intel Threading Building Blocks 编程指南:原子操作
- 【学术心得】如何在本科提升自己的研究能力
- 多层下拉框
- Android中的savedInstanceState
- MongoDB小结20 - find【查询条件$size】
- 51nod 1100 斜率最大
- js学习总结
- Ubuntu设置共享目录
- My coding way (10)
- 设置Ubuntu 10.10版本的软件源
- android布局的优化