用Spinner写两个下拉框,分别是学院和专业,学院有"数智学院""文传学院",“数智学院”专业有“计算机”“大数据“”数学”,文传学院专业有“广告学”“汉语言”
时间: 2023-08-31 13:13:28 浏览: 33
好的,以下是代码实现,需要在布局文件中添加两个Spinner控件:
```xml
<Spinner
android:id="@+id/spinner_college"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<Spinner
android:id="@+id/spinner_major"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
```
然后在Java代码中设置Adapter:
```java
Spinner spinnerCollege = findViewById(R.id.spinner_college);
Spinner spinnerMajor = findViewById(R.id.spinner_major);
// 设置学院下拉框Adapter
ArrayAdapter<String> collegeAdapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, new String[]{"数智学院", "文传学院"});
spinnerCollege.setAdapter(collegeAdapter);
// 设置专业下拉框Adapter
ArrayAdapter<String> majorAdapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, new String[]{});
spinnerMajor.setAdapter(majorAdapter);
// 设置学院下拉框选择事件
spinnerCollege.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
// 根据选择的学院设置专业下拉框Adapter
String college = (String) parent.getItemAtPosition(position);
if (college.equals("数智学院")) {
majorAdapter.clear();
majorAdapter.addAll(new String[]{"计算机", "大数据", "数学"});
} else if (college.equals("文传学院")) {
majorAdapter.clear();
majorAdapter.addAll(new String[]{"广告学", "汉语言"});
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
```
这样就可以实现根据学院选择动态改变专业下拉框的内容了。