要解决Android的spinner的onItemSelected方法无法使用字符串数组的位置的问题,可以使用以下代码示例:
// 定义一个字符串数组
String[] items = {"Item 1", "Item 2", "Item 3"};
// 获取Spinner控件
Spinner spinner = findViewById(R.id.spinner);
// 创建一个ArrayAdapter适配器,并设置数组和默认的下拉菜单样式
ArrayAdapter adapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_dropdown_item, items);
// 设置适配器到Spinner控件
spinner.setAdapter(adapter);
// 设置Spinner的选中监听事件
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView> parent, View view, int position, long id) {
// 获取选中的字符串
String selectedItem = (String) parent.getItemAtPosition(position);
// 根据选中的字符串执行相应的逻辑
if (selectedItem.equals("Item 1")) {
// 执行Item 1的逻辑
} else if (selectedItem.equals("Item 2")) {
// 执行Item 2的逻辑
} else if (selectedItem.equals("Item 3")) {
// 执行Item 3的逻辑
}
}
@Override
public void onNothingSelected(AdapterView> parent) {
// 当没有选中任何项时执行的逻辑
}
});
在这个示例中,我们首先定义了一个字符串数组items
,然后获取了Spinner控件,并创建了一个ArrayAdapter适配器,将字符串数组设置到适配器中,并设置了默认的下拉菜单样式。接下来,我们设置了Spinner的选中监听事件,在onItemSelected
方法中,通过parent.getItemAtPosition(position)
方法获取选中的字符串,然后根据选中的字符串执行相应的逻辑。
希望这个示例可以帮助你解决问题。