android客戶端二級下拉框級聯操作


在項目中,為了提高用戶的體驗效果,我們會用到級聯操作,在android中關於下拉框的級聯操作,我們可以使用Spinner。

關於Spinner,來自官方文檔是這樣介紹的:

A view that displays one child at a time and lets the user pick among them. The items in the Spinner come from the Adapter associated with this view。

簡而言之就是

Spinner is a widget similar to a drop-down list for selecting items.

這次項目中的需求是這樣的,用戶選擇一個城市,二級下拉框自動獲取該城市下的所有區/縣,下面分布講解。

  1. 對於android應用程序而言,布局時是不可缺少的,很重要,就在第一點來講,采用兩個LinearLayout布局,第一個LinearLayout采用垂直方向總體布局,第二個LinearLayout采用水平方向對說明信息進行子節點布局
    View Code
  2. 這里主要在Activity中對布局文件進行操作。
    1. 對一些信息的聲明:
              //市區/子菜單項信息
          private String[][] areaData = CityCountry.areaData;
          private ArrayAdapter<CharSequence> adapterArea = null;
          //spinner城市
          private Spinner mCity = null;
          //spinner縣區
          private Spinner mCountry = null;
    2. 獲得Spinner對象:
      // spinner下拉列表框二級菜單級聯
      mCity = (Spinner) super.findViewById(R.id.city);
      mCountry = (Spinner) super.findViewById(R.id.area);
    3. 注冊Spinner setOnItemSelectedListener監聽事件:
      mCity.setOnItemSelectedListener(new  AdapterView.OnItemSelectedListener()
              {
      
                  @Override
                  public void onItemSelected(AdapterView<?> arg0, View arg1, int position, long arg3)
                  {
                      // 表示選項改變的時候觸發
                      MppspPhoneAlarmAct.this.adapterArea = new ArrayAdapter<CharSequence>(MppspPhoneAlarmAct.this,
                      // 定義所有的列表項
                      android.R.layout.simple_spinner_item, MppspPhoneAlarmAct.this.areaData[position]);
                      // 設置二級下拉列表的選項內容
                      MppspPhoneAlarmAct.this.mCountry.setAdapter(MppspPhoneAlarmAct.this.adapterArea);
                  }
      
                  @Override
                  public void onNothingSelected(AdapterView<?> arg0)
                  {
                      
                  }
                  
              });
  3. 部分效果圖如下:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM