一.布局代码(部分)
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="院系:"
android:textSize="20dp"
android:layout_below="@id/tvid" />
<Spinner
android:id="@+id/spcollege"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/college">
</Spinner>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="班级:"
android:textSize="20dp"
android:layout_below="@id/tvid" />
<Spinner
android:id="@+id/spbanji"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/计算机院班级">
</Spinner>
</LinearLayout>
二.后台java代码
实现方法:主要通过设置下拉列表项选中监听,当选中项改变时动态加载下级列表的适配器.
public class StuaddActivity extends AppCompatActivity {
Spinner spcollege,spbanji;
ArrayAdapter<String> banjiAdapter;
ArrayAdapter<String> collegeAdapter;
String college="请选择学院",banji="请选择班级";
String[] collegelist = new String[] {"请选择学院","计算机学院","软件学院"};
String[] jisuanji = new String[] {"请选择班级","计科1班","计科2班","计科3班"};
String[] ruanjian = new String[] {"请选择班级","软工1班","软工2班","软工3班"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.addstudent);
spcollege= (Spinner) findViewById(R.id.spcollege);
spbanji= (Spinner) findViewById(R.id.spbanji);
setSpinner();//定义方法设置下拉列表联动
}
public void setSpinner() {
//绑定适配器和值
collegeAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, collegelist);
spcollege.setAdapter(collegeAdapter);
spcollege.setSelection(0,true);//设置初始默认值
//绑定适配器和值
banjiAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, jisuanji);
spbanji.setAdapter(banjiAdapter);
spbanji.setSelection(0,true);//设置初始默认值
//设置列表项选中监听
spcollege.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
//获取选中项的值
college=adapterView.getItemAtPosition(i).toString();
//根据选中的不同的值绑定不同的适配器
if(college.equals("计算机学院")){
banjiAdapter = new ArrayAdapter<String>(StuaddActivity.this,android.R.layout.simple_spinner_item, jisuanji);
spbanji.setAdapter(banjiAdapter);
}else if (college.equals("软件学院")){
banjiAdapter = new ArrayAdapter<String>(StuaddActivity.this,android.R.layout.simple_spinner_item, ruanjian);
spbanji.setAdapter(banjiAdapter);
}
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
//设置列表项选中监听
spbanji.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener(){
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
//获取列表项的值
banji=adapterView.getItemAtPosition(i).toString();
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
}