android中添加级联更新的下拉菜单
package com.silei.day04_spinnercity;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
public class MainActivity extends Activity {
Spinner mSpinner1;
ArrayAdapter<String> mAdapterSP1;
String[] mDataSP1;
Spinner mSpinner2;
ArrayAdapter<String> mAdapterSP2;
String[] mDataSP2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initFind();
initSPData1();
initSPEvent1();
//initSPdata2();
}
private void initSPdata2() {
mDataSP2=new String[]{};
//分配一个数据长度为0的字符串数组给变量
mAdapterSP2=new ArrayAdapter<String>(
getApplicationContext(),
android.R.layout.simple_spinner_dropdown_item);
//跟上一个的区别,动态生成的,动态更新
mSpinner2.setAdapter(mAdapterSP2);
}
private void initSPEvent1() {
// 组件事件
mSpinner1.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
int cityIndex = position;
//准备适配器,第一种方法,是可以的。
mDataSP2 = readCity12(cityIndex);
mAdapterSP2 = new ArrayAdapter<String>(MainActivity.this,
android.R.layout.simple_spinner_dropdown_item,
mDataSP2);
mSpinner2.setAdapter(mAdapterSP2);
/*
//不管是第一次还是后续的,先清数据源的数据
mAdapterSP2.clear();
//读取数据源的数据
mDataSP2 = readCity12(cityIndex);
//设置适配器的数据源
mAdapterSP2.addAll(mDataSP2);*/
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
}
});
}
private String[] readCity1() {
String[] provinces = new String[] { "北京", "河南" };
return provinces;
}
// 读出指定省下面的城市
private String[] readCity12(int cityIndex) {
String[][] cities = new String[][] {
{ "海淀", "朝阳","昌平" },
{ "郑州", "新乡" ,"洛阳","信阳"} };
return cities[cityIndex];
}
private void initSPData1() {
// 读取数据源
mDataSP1 = readCity1();
// 实例化适配器
mAdapterSP1 = new ArrayAdapter<String>(MainActivity.this,
android.R.layout.simple_spinner_dropdown_item,
mDataSP1);
// 设置适配器
mSpinner1.setAdapter(mAdapterSP1);
}
private void initFind() {
mSpinner1 = (Spinner) findViewById(R.id.spinner1);
mSpinner2 = (Spinner) findViewById(R.id.spinner2);
}
}
更多相关文章
- mybatisplus的坑 insert标签insert into select无参数问题的解决
- python起点网月票榜字体反爬案例
- Android(安卓)自定义添加联系人
- android 入门 Gallery
- Android(安卓)实现歌词滚动
- Android(安卓)下拉刷新 ListRefresh 从网络加载图片
- Android(安卓)Http网络数据传输备忘
- android手机端保存xml数据
- 复习android SQLiteOpenHelper