如何实现两个或多个Spinner之间内容的关联

来源:互联网 发布:清华同方录音笔软件 编辑:程序博客网 时间:2024/05/01 18:19

Android主要源代码如下:

@Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  this.setContentView(R.layout.zhuanye_check);
  _zytarget = (Spinner) findViewById(R.id.zhuanyetarget);
  _zytype = (Spinner) findViewById(R.id.zhuanyetype);
  zytyp = getResources().getStringArray(R.array.zhuanye_typ);//
  zytye = getResources().getStringArray(R.array.zhuanye_tye);

 

_zytarget.setOnItemSelectedListener(new Spinner.OnItemSelectedListener() {

     @Override
     public void onItemSelected(AdapterView<?> arg0, View arg1,
       int arg2, long arg3) {

     //arg3为Spinner所选项的下标
      if (arg3 == 0) {
       // 将可选内容与ArrayAdapter连接起来
       adapter1 = new ArrayAdapter<String>(
         ZhuanyeSearchActivity.this,
         android.R.layout.simple_spinner_item, zytyp);

       // 设置下拉列表的风格
       adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

       // 将adapter 添加到spinner中
       _zytype.setAdapter(adapter1);
      }
      if (arg3 == 1) {
       // 将可选内容与ArrayAdapter连接起来
       adapter2 = new ArrayAdapter<String>(
         ZhuanyeSearchActivity.this,
         android.R.layout.simple_spinner_item, zytye);

       // 设置下拉列表的风格
       adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

       // 将adapter 添加到spinner中
       _zytype.setAdapter(adapter2);
      }
     }

     @Override
     public void onNothingSelected(AdapterView<?> arg0) {
      // TODO Auto-generated method stub

     }
    });

}

strings.xml文件中的内容如下:

   <string-array name="zhuanye_target">
        <item>本科</item>
        <item>专科</item>
    </string-array>
    <string-array name="zhuanye_typ">
        <item>文学类</item>
        <item>理学类</item>
        <item>哲学类</item>
        <item>教育学类</item>
        <item>法学类</item>
        <item>管理学类</item>
        <item>工学类</item>
        <item>经济学类</item>
        <item>农学类</item>
        <item>医学类</item>
        <item>历史学类</item>
       
    </string-array>
    <string-array name="zhuanye_tye">
       <item>交通运输类</item>
        <item>公共事业类</item>
        <item>公安类</item>
        <item>农林牧渔类</item>
        <item>制造类</item>
        <item>医学卫生类</item>
        <item>土建类</item>
        <item>文化教育类</item>
        <item>旅游类</item>
        <item>材料与能源类</item>
        <item>水利类</item>
        <item>法律类</item>
        <item>环保类</item>
        <item>气象与安全类</item>
        <item>生化与药品类</item>
        <item>电子信息类</item>
        <item>艺术设计传媒类</item>
        <item>财经类</item>
        <item>资源开发与测绘类</item>
        <item>轻纺食品类</item>
      </string-array>

多个Spinner之间内容的关联方法类似,在这就不啰嗦了

 

0 1
原创粉丝点击