本文来自:安卓航班网

实现一个二级联动的下拉列表,就是选定省份后,城市的下拉列表出现相应变化

Java code:

package zye.client.Client;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter; import android.widget.Spinner;
import android.widget.AdapterView.OnItemSelectedListener;

public class cityset extends Activity{
    private String[] province = new String[] {"直辖市", "特别行政区","黑龙江"};
    private String[] city = new String[]{"北京","上海","天津","重庆"};
    private String[][] pandc = new String[][]{{"北京","上海","天津","重庆"},{"香港","澳门"},{"哈尔滨","齐齐哈尔","牡丹江","大庆","伊春","双鸭山","鹤岗","鸡西","佳木斯","七台河","黑河","绥化","大兴安岭"}};
    private Spinner sp;
    private Spinner sp2;
    private Context context;

    ArrayAdapter<String> adapter ;

    ArrayAdapter<String> adapter2;
   
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.cityset);
         
         context = this;
         
            adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, province);
            adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
            sp = (Spinner) findViewById(R.id.province);
            sp.setAdapter(adapter);
            sp.setOnItemSelectedListener(selectListener);
            
            
            adapter2 = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, city);
            adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
            sp2 = (Spinner) findViewById(R.id.city);
            sp2.setAdapter(adapter2);
            
    }
     
     private OnItemSelectedListener selectListener = new OnItemSelectedListener(){
         public void onItemSelected(AdapterView parent, View v, int position,long id){
             int pos = sp.getSelectedItemPosition();
             adapter2 = new ArrayAdapter<String>(context,android.R.layout.simple_spinner_item, pandc[pos]);
             sp2.setAdapter(adapter2);
         }
      
         public void onNothingSelected(AdapterView arg0){

         }

     };

}


xml code:


<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#FFFFFF"
    >
    <Spinner android:id="@+id/province"
        android:layout_width="fill_parent"
          android:layout_height="45px"
          android:layout_marginLeft="75px"
          android:layout_marginRight="20px"
        android:layout_marginTop="7px"
         android:drawSelectorOnTop="true"
         android:layout_alignParentRight="true"
    />
       <Spinner android:id="@+id/city"
        android:layout_width="fill_parent"
          android:layout_height="45px"
          android:layout_marginLeft="75px"
          android:layout_marginRight="20px"
        android:layout_marginTop="3px"
         android:drawSelectorOnTop="true"
         android:layout_alignParentRight="true"
         android:layout_below="@id/province"
         />
      
</RelativeLayout>

原文地址:http://www.apkway.com/forum.php?mod=viewthread&tid=2178&extra=page%3D2

posted on 2011-07-27 16:50  泉と緣  阅读(421)  评论(0编辑  收藏  举报