国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android實現省市區三級聯動

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

針對AdapterView的拓展使用,Spinner實現省市區的三級聯動,具體內容如下

其主要是通過使用Spinner的setOnItemSelectListener來實現。

代碼示例:

activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  xmlns:tools="http://schemas.android.com/tools"  android:id="@+id/activity_main"  android:layout_width="match_parent"  android:layout_height="match_parent"  tools:context="com.example.testspinnerprovince.MainActivity"  android:orientation="vertical">  <TextView    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:textSize="20sp"    android:text="@string/selection"    android:padding="6dp"/>  <LinearLayout    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:layout_marginTop="30dp"    android:orientation="horizontal">    <Spinner      android:id="@+id/provinceSpinner"      android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:layout_weight="1"/>    <Spinner      android:id="@+id/citySpinner"      android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:layout_weight="1"/>    <Spinner      android:id="@+id/countySpinner"      android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:layout_weight="1"/>  </LinearLayout>  <TextView    android:id="@+id/show"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:textSize="20sp"    android:padding="6dp"    android:layout_marginTop="80dp"    android:text="@string/selected"/></LinearLayout>

MainActivity.java

public class MainActivity extends AppCompatActivity {  private TextView show;  private Spinner provinceSpinner;//省級  private Spinner citySpinner;//市級  private Spinner countySpinner;//區級  private String[] province = new String[]{"北京","上海","天津","廣東"};  private String[][] city = new String[][]{      {"東城區","西城區","崇文區","宣武區","朝陽區","海淀區","豐臺區","石景山區","門頭溝區",          "房山區","通州區","順義區","大興區","昌平區","平谷區","懷柔區","密云縣","延慶縣"},  {"長寧區","靜安區","普陀區","閘北區","虹口區"},  {"和平區","河東區","河西區","南開區","河北區","紅橋區","塘沽區","漢沽區","大港區","東麗區"},  {"廣州","深圳","韶關"}};  private String[][][] county = new String[][][]{{      //北京      {"無"},{"無"},{"無"},{"無"},{"無"},{"無"},{"無"},{"無"},{"無"},{"無"},{"無"},      {"無"},{"無"},{"無"},{"無"},{"無"},{"無"},{"無"},},{      //上海      {"無"},{"無"},{"無"},{"無"},{"無"},},{      //天津      {"無"},{"無"},{"無"},{"無"},{"無"},{"無"},{"無"},{"無"},{"無"},{"無"},},{      //廣東      {"海珠區","荔灣區","越秀區","白云區","蘿崗區","天河區","黃浦區","花都區","從化市","增城市"          ,"番禺區","南沙區"},      {"寶安區","福田區","龍崗區","羅湖區","南山區","鹽田區"},      {"武江區","湞江區","曲江區","樂昌市","南雄市","始興縣","仁化縣","翁源縣","新豐縣","乳源縣"}  }  };  //Spinner想要填充肯定需要適配器  private ArrayAdapter<String> provinceAdapter;  private ArrayAdapter<String> cityAdapter;  private ArrayAdapter<String> countyAdapter;  private int provicePosition;//省級選中索引  private int cityPosition;//市級選中索引  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    initViews();//初始化  }  //控件初始化  private void initViews() {    provinceSpinner = (Spinner) findViewById(R.id.provinceSpinner);    citySpinner = (Spinner) findViewById(R.id.citySpinner);    countySpinner = (Spinner) findViewById(R.id.countySpinner);    show = (TextView) findViewById(R.id.show);    //初始化適配器及顯示的內容    provinceAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,province);    provinceSpinner.setAdapter(provinceAdapter);    //對省級下拉實現監聽,市級下拉需要根據不同的省級顯示不同內容。    provinceSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {      @Override      public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {        //需要在item選中省級的時候,動態的改變市級對應的顯示        cityAdapter = new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_spinner_item,city[position]);        //設置二級下拉列表當中選項內容適配器        citySpinner.setAdapter(cityAdapter);        //記錄當前的省級索引位置,留給下面修改縣級進行適配使用        provicePosition = position;      }      @Override      public void onNothingSelected(AdapterView<?> parent) {      }    });    //市級下拉監聽    citySpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {      @Override      public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {        //需要在item選中市級的時候,動態的改變縣級對應的顯示        countyAdapter = new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_spinner_item,county[provicePosition][position]);//首先確定是哪個省的。        //設置二級下拉列表當中選項內容適配器        countySpinner.setAdapter(countyAdapter);        show.setText("選中的城市為:"+ province[provicePosition] + city[provicePosition][position]);        cityPosition = position;      }      @Override      public void onNothingSelected(AdapterView<?> parent) {      }    });    //區級的下拉    countySpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {      @Override      public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {        show.setText("選中的城市為:"+ province[provicePosition] + city[provicePosition][cityPosition]            + county[provicePosition][cityPosition][position]);      }      @Override      public void onNothingSelected(AdapterView<?> parent) {      }    });  }}

運行結果:

 Android,三級聯動

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 元氏县| 东海县| 牙克石市| 德保县| 许昌市| 海宁市| 西和县| 秭归县| 黄浦区| 墨玉县| 嵊泗县| 鄂托克旗| 平阳县| 静安区| 嘉峪关市| 阿拉善左旗| 淮阳县| 日喀则市| 延吉市| 葫芦岛市| 西峡县| 西丰县| 乐山市| 金坛市| 镇康县| 赤壁市| 会东县| 包头市| 肇庆市| 中西区| 体育| 乌兰县| 偏关县| 扎囊县| 石泉县| 陆丰市| 陆丰市| 镇雄县| 龙胜| 穆棱市| 吴桥县|