安卓2个Spinner控制中的数据如何进行联动
时间: 2024-02-18 09:58:55 浏览: 37
在Android中,可以通过为Spinner添加OnItemSelectedListener来实现Spinner的联动。具体步骤如下:
1. 获取两个Spinner控件的实例,分别设置它们的Adapter,即为它们设置数据源。
2. 为第一个Spinner设置OnItemSelectedListener,监听选中的项。在监听器的onItemSelected()方法中,获取第一个Spinner选中的项的位置,根据这个位置来更新第二个Spinner的数据源。
3. 更新第二个Spinner的数据源后,需要重新设置它的Adapter。
示例代码如下:
```
Spinner spinner1 = findViewById(R.id.spinner1);
Spinner spinner2 = findViewById(R.id.spinner2);
// 为spinner1设置数据源
ArrayAdapter<String> adapter1 = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, data1);
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的数据源
String selectedItem = (String) parent.getItemAtPosition(position);
List<String> data2 = getData2(selectedItem);
// 更新spinner2的数据源
ArrayAdapter<String> adapter2 = new ArrayAdapter<>(MainActivity.this, android.R.layout.simple_spinner_item, data2);
adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner2.setAdapter(adapter2);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
```
其中,getData2()方法根据spinner1选中的项来获取spinner2的数据源。你需要根据你的实际需求来实现这个方法。