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

本文介绍如何在Android应用中实现一个二级联动的下拉列表功能,即选择省份后,城市列表会根据省份动态更新。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

mport 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){

}

};

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值