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. 部分效果图如下:

    android客户端二级下拉框级联操作

你可能感兴趣的:(android)