安卓中ListView与Spinner在处理关联项时的不同(以全国省市级联为例)

本文通过一个安卓小项目实例,探讨了ListView和Spinner在处理级联选择时的差异,主要体现在事件监听上:ListView使用OnItemClickListener,Spinner使用OnItemSelectedListener。示例代码展示了如何在ListView和Spinner中展示省市区联,并指出实际的级联选择可在事件监听中进一步处理。
摘要由CSDN通过智能技术生成

   本人最近在写安卓的一个小项目中需要进行级联操作,比如在listview或spinner中点击某一项时会在另一个listview和spiiner中显示出对应的子项。由于新学安卓,折腾了几天才将这个功能完成。其实在完成之后发现两者的差别并不大。主要在进行选项处理时事件监听的不同,listview为OnItemClickListener,而spiner为OnItemSelectedListener。

   现在用代码来详细说明:


package com.android.ListViewTest;

import java.lang.reflect.Array;
import java.util.ArrayList;

import android.app.Activity;
import android.os.Bundle;

import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity{
private ListView lv_province,lv_city;
private TextView tv_result;
String name;
private Spinner sp_pro,sp_city;
private ArrayAdapter<String> provinceAdapter,cityAdapter;
String[] province_info={"黑龙江", "吉林", "辽宁", "内蒙古", "河北", "山西", "陕西",
"山东", "新疆", "西藏", "青海", "甘肃", "宁夏", "河南", "江苏", "湖北", "浙江",
"安徽", "福建", "江西", "湖南", "贵州", "四川", "广东", "云南", "广西", "海南",
"台湾"};
String [][] city_info= {
{ "哈尔滨", "齐齐哈尔", "牡丹江", "佳木斯", "绥化", "黑河", "大兴安岭", "伊春", "大庆",
"鸡西", "鹤岗", "双鸭山" },
{ "长春", "吉林", "延吉", "四平", "通化", "白城", "辽源", "松原", "白山" },
{ "沈阳", "大连", "鞍山", "抚顺", "本溪", "丹东", "锦州", "营口", "阜新", "辽阳",
"铁岭", "朝阳", "盘锦", "葫芦岛" },
{ "呼和浩特", "包头", "乌海", "集宁", "通辽", "赤峰", "鄂尔多斯", "临河", "锡林浩特",
"海拉尔", "乌兰浩特", "阿拉善左旗" },
{ "石家庄", "保定", "张家口", "唐山", "廊坊", "沧州", "衡水", "邢台", "邯郸", "秦皇岛" },
{ "太原", "大同", "阳泉", "晋中", "长治", "晋城", "临汾", "运城", "朔州", "忻州",
"离石" },
{ "西安", "三原", "延长", "榆林", "渭南", "商洛", "安康", "汉中", "宝鸡", "铜川" },
{ "济南", "青岛", "淄博", "德州", "烟台", "潍坊", "济宁", "泰安"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值