关于android中spinner级联问题
时间: 2023-11-23 16:05:40 浏览: 86
在 Android 中,Spinner 的级联问题通常可以通过设置适配器和监听器来解决。以下是一个示例代码,用于实现两个 Spinner 之间的级联:
```
Spinner spinner1 = findViewById(R.id.spinner1);
Spinner spinner2 = findViewById(R.id.spinner2);
// 设置 spinner1 的适配器
ArrayAdapter<CharSequence> adapter1 = ArrayAdapter.createFromResource(this, R.array.spinner1_array, android.R.layout.simple_spinner_item);
adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner1.setAdapter(adapter1);
// 监听 spinner1 的选项
spinner1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
// 根据选择的选项更新 spinner2 的适配器
ArrayAdapter<CharSequence> adapter2 = ArrayAdapter.createFromResource(MainActivity.this, R.array.spinner2_array[position], android.R.layout.simple_spinner_item);
adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner2.setAdapter(adapter2);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
```
在这个示例中,我们首先设置了 spinner1 的适配器,然后监听 spinner1 的选项。当用户选择 spinner1 的某个选项时,我们根据选择的选项更新 spinner2 的适配器。spinner2 的适配器是根据选择的 spinner1 的选项来确定的,这样就实现了 Spinner 的级联效果。
阅读全文