亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Android > 正文

Android實現聯動下拉框二級地市聯動下拉框功能

2019-10-21 21:34:33
字體:
來源:轉載
供稿:網友

日常使用軟件中,為了方便且規范輸入,會使用到下拉框進行輸入,如注冊時生日選項,購物時的地址輸入,都會用到下拉框,今日筆者為了鞏固已學的知識,實現了二級聯動下拉框用作回顧及分享給求知的新手。

思路/步驟:

在實現聯動下拉框之前,我們先對用到的ArrayAdapter和數據的封裝作必要的了解,Android 中提供了很多適配器的實現類,其中ArrayAdapter就其中之一。它可以通過泛型來指定要適配的數據類型,然后在構造函數中把要適配的數據傳入。如:

ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(  getApplicationContext(),   R.array.province,   android.R.layout.simple_spinner_item);

ArrayAdapter中比較常用的泛型是String,但此處用了CharSequence(字符序列),通過指定泛型來裝配適合的數據類型。

這段代碼中有三個參數:

第一個參數Context是上下文,就是當前的Activity。
第二個參數是數據來源,R.array.province是存儲在xml文件中的數據。
第三個參數是Android SDK中內置的一個TextView。(此xml文件中只有一個TextView)。

通過創建一個ArrayAdapter處理存儲在xml中的省份地市數據,用Spinner控件處理ArrayAdapter處理好的數據,用TextView將數據顯示出來形成一個list供用戶點擊選擇。

主要實現代碼: MainActivity.java

 

import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.view.View;import android.widget.AdapterView;import android.widget.AdapterView.OnItemSelectedListener;import android.widget.ArrayAdapter;import android.widget.Spinner;import android.widget.Toast;public class MainActivity extends Activity { Spinner spinner1, spinner2;//聲明兩個下拉框 String City, Province; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); spinner1 = (Spinner) findViewById(R.id.spinner1);//綁定ID spinner2 = (Spinner) findViewById(R.id.spinner2);//綁定ID ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.province,  android.R.layout.simple_spinner_item);//創建資源 spinner1.setAdapter(adapter);//裝配數據 spinner1.setOnItemSelectedListener(new provinceClickListen());//監聽事件 spinner2.setOnItemSelectedListener(new CityClickListen());//監聽事件 }class provinceClickListen implements OnItemSelectedListener { public void onItemSelected(AdapterView<?> parent, View v, int i, long l) {  Spinner spinner = (Spinner) parent;  String pro = (String) spinner.getItemAtPosition(i);//獲取當前選中項  ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.def,   R.layout.item);//初始化  Province = spinner1.getSelectedItem().toString();//當前選中的省份  /** 根據省份,裝配地市數據**/  if (pro.equals("北京")) {  adapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.北京, R.layout.item);  } else if (pro.equals("天津")) {  adapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.天津, R.layout.item);  } else if (pro.equals("河北")) {  adapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.河北, R.layout.item);  } else if (pro.equals("山西")) {  adapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.山西, R.layout.item);  } else if (pro.equals("內蒙古")) {  adapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.內蒙古, R.layout.item);  } else if (pro.equals("遼寧")) {  adapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.遼寧, R.layout.item);  } else if (pro.equals("吉林")) {  adapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.吉林, R.layout.item);  } else if (pro.equals("黑龍江")) {  adapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.黑龍江, R.layout.item);  } else if (pro.equals("上海")) {  adapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.上海, R.layout.item);  } else if (pro.equals("江蘇")) {  adapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.江蘇, R.layout.item);  } else if (pro.equals("浙江")) {  adapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.浙江, R.layout.item);  } else if (pro.equals("安徽")) {  adapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.安徽, R.layout.item);  } else if (pro.equals("福建")) {  adapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.福建, R.layout.item);  } else if (pro.equals("江西")) {  adapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.江西, R.layout.item);  } else if (pro.equals("山東")) {  adapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.山東, R.layout.item);  } else if (pro.equals("河南")) {  adapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.河南, R.layout.item);  } else if (pro.equals("湖北")) {  adapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.湖北, R.layout.item);  } else if (pro.equals("湖南")) {  adapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.湖南, R.layout.item);  } else if (pro.equals("廣東")) {  adapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.廣東, R.layout.item);  } else if (pro.equals("廣西")) {  adapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.廣西, R.layout.item);  } else if (pro.equals("海南")) {  adapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.海南, R.layout.item);  } else if (pro.equals("重慶")) {  adapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.重慶, R.layout.item);  } else if (pro.equals("四川")) {  adapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.四川, R.layout.item);  } else if (pro.equals("貴州")) {  adapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.貴州, R.layout.item);  } else if (pro.equals("云南")) {  adapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.云南, R.layout.item);  } else if (pro.equals("西藏")) {  adapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.西藏, R.layout.item);  } else if (pro.equals("陜西")) {  adapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.陜西, R.layout.item);  } else if (pro.equals("甘肅")) {  adapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.甘肅, R.layout.item);  } else if (pro.equals("青海")) {  adapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.青海, R.layout.item);  } else if (pro.equals("寧夏")) {  adapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.寧夏, R.layout.item);  } else if (pro.equals("新疆")) {  adapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.新疆, R.layout.item);  } else if (pro.equals("臺灣")) {  adapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.臺灣, R.layout.item);  } else if (pro.equals("香港")) {  adapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.香港, R.layout.item);  } else if (pro.equals("澳門")) {  adapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.澳門, R.layout.item);  }  spinner2.setAdapter(adapter);//裝配地市數據 } public void onNothingSelected(AdapterView<?> parent) { } } class CityClickListen implements OnItemSelectedListener { public void onItemSelected(AdapterView<?> parent, View v, int i, long l) {  City = spinner2.getSelectedItem().toString();//當前選中的地市  if (City.equals("-城市-")) {//當前還沒選擇地市  } else {  Toast.makeText(getApplicationContext(), Province+"省"+City, Toast.LENGTH_LONG).show();//Toast顯示選中的省份城市  } } public void onNothingSelected(AdapterView<?> parent) {} } public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; }}

此外還有布局文件: activity_main.xml

 

<LinearLayout 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:orientation="horizontal"  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=".MainActivity" >  <TextView    android:id="@+id/province"    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:layout_weight="1"    android:text="省份:" />  <Spinner    android:id="@+id/spinner1"    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:layout_weight="1" />  <TextView    android:id="@+id/city"    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:layout_weight="1"    android:text="城市:" />  <Spinner    android:id="@+id/spinner2"    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:layout_weight="1" /></LinearLayout>

item.xml

<?xml version="1.0" encoding="utf-8"?>  <TextView xmlns:android="http://schemas.android.com/apk/res/android"    android:id="@+id/spinner_item"    android:layout_height="wrap_content"    android:layout_width="match_parent"    android:text="名稱"    android:textColor="#000"    android:textSize="16dp"/>

實現效果如下:

Android,聯動下拉框
Android,聯動下拉框
Android,聯動下拉框
Android,聯動下拉框
Android,聯動下拉框

總結

以上所述是小編給大家介紹的Android實現聯動下拉框二級地市聯動下拉框功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VEVB武林網網站的支持!


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
狠狠躁天天躁日日躁欧美| 福利精品视频在线| 中文国产亚洲喷潮| 色偷偷av一区二区三区| 久久久国产一区二区| 精品国产乱码久久久久久虫虫漫画| 欧美成人精品在线| 日韩精品久久久久久久玫瑰园| 国产亚洲xxx| 国产午夜精品一区二区三区| 国产精品老牛影院在线观看| 久久夜色撩人精品| 97不卡在线视频| 日韩中文字幕国产精品| 日韩一区二区三区xxxx| 91精品中文在线| 欧美尺度大的性做爰视频| 中文字幕日韩精品在线| 国产日韩欧美视频| 黑人与娇小精品av专区| 久色乳综合思思在线视频| 色偷偷噜噜噜亚洲男人的天堂| 欧美国产在线电影| 欧美日韩在线一区| 久久青草福利网站| 亚洲欧美国产视频| 欧美网站在线观看| 精品视频在线导航| 亚洲欧美在线一区二区| 亚洲第一福利网站| 欧美性xxxxhd| 91在线观看免费高清完整版在线观看| 成人午夜在线影院| 成人免费在线视频网址| 国模吧一区二区三区| 成人免费在线视频网址| 少妇av一区二区三区| 国产精品日韩精品| 97人洗澡人人免费公开视频碰碰碰| 欧美激情一区二区三区成人| 亚洲人成绝费网站色www| 中文字幕亚洲欧美日韩高清| 亚洲欧美综合精品久久成人| 69国产精品成人在线播放| 日韩av观看网址| 日韩精品日韩在线观看| 久久亚洲精品小早川怜子66| 青草热久免费精品视频| 亚洲成人在线视频播放| 国产精品成人国产乱一区| yw.139尤物在线精品视频| 91精品国产91久久久久久不卡| 亚洲欧美精品中文字幕在线| 亚洲欧美日韩精品久久亚洲区| 亚洲专区在线视频| 成人444kkkk在线观看| 亚洲码在线观看| 国产精品视频xxxx| 高清欧美性猛交xxxx黑人猛交| 欧美激情一区二区三区久久久| 欧美日韩中文字幕在线| 亚洲一区二区久久久久久久| 国产精品久在线观看| 久久久久久久久久久久av| 亚洲欧美国产日韩天堂区| 亚洲国产精品高清久久久| 国产精品主播视频| 成人淫片在线看| 日韩在线欧美在线国产在线| 久久成人av网站| 中文字幕在线成人| 精品国产自在精品国产浪潮| 国产精品xxx视频| 成人久久18免费网站图片| 欧美日韩国产123| 日韩欧美综合在线视频| 国产亚洲欧洲高清| 国产精品私拍pans大尺度在线| 亚洲欧美国产日韩中文字幕| 自拍视频国产精品| 色妞色视频一区二区三区四区| 91高清免费视频| 国产日产久久高清欧美一区| 一二美女精品欧洲| 九九久久精品一区| 日韩av中文在线| 国产一区二区丝袜高跟鞋图片| 国产精品扒开腿做爽爽爽的视频| 最新91在线视频| 亚洲偷熟乱区亚洲香蕉av| 国产亚洲美女精品久久久| 国语自产精品视频在线看抢先版图片| 欧美激情精品久久久久久| 久久久久久久久久婷婷| 亚洲日本成人女熟在线观看| 亚洲视频欧美视频| 日韩高清欧美高清| 97国产精品免费视频| 国产午夜一区二区| 久久久久久成人| 亚洲性生活视频| 亚洲激情在线视频| 欧美猛交ⅹxxx乱大交视频| 九九视频直播综合网| 91欧美精品成人综合在线观看| 97超碰蝌蚪网人人做人人爽| 8x海外华人永久免费日韩内陆视频| 久久不射热爱视频精品| 亚洲欧洲自拍偷拍| 91九色国产在线| 欧美天堂在线观看| 国产日韩欧美自拍| 日韩在线视频中文字幕| 精品久久久一区| 在线观看不卡av| 海角国产乱辈乱精品视频| 亚洲天堂男人天堂女人天堂| 国产精品女主播视频| 成人免费看黄网站| 欧美激情第一页xxx| 久久久久久久999精品视频| 国产又爽又黄的激情精品视频| 亚洲第一精品福利| 国产在线a不卡| 精品福利一区二区| 久久国产精品久久久久久久久久| 欧美日本国产在线| 日韩中文字幕视频在线观看| 久久成人一区二区| 亚洲一区二区三区sesese| 欧美性感美女h网站在线观看免费| 一区二区欧美激情| 欧美精品久久久久a| 欧美怡春院一区二区三区| 中文字幕精品影院| 日韩在线观看免费全集电视剧网站| 日韩国产精品视频| 亚洲电影成人av99爱色| 亚洲男女性事视频| 欧美大胆在线视频| 久久综合色影院| 久久久精品网站| 国产精品99久久久久久久久| 米奇精品一区二区三区在线观看| 国产一区二区丝袜高跟鞋图片| 欧美激情视频免费观看| 97精品国产aⅴ7777| 中文字幕欧美精品日韩中文字幕| 91久久精品久久国产性色也91| 欧美高清在线观看| 久久99精品国产99久久6尤物| 色天天综合狠狠色| 国产精品69久久| 亚洲美女在线视频| 欧美性色xo影院| 国产精品视频午夜| 国产精品久久久久免费a∨大胸| 免费av在线一区| 亚洲最大的成人网| 亚洲美女性生活视频| 青青草原一区二区| 97色在线观看| 中文字幕日韩av电影| 日韩在线一区二区三区免费视频|