要获取Spinner中选定的自定义对象,可以使用以下步骤:
public class CustomObject {
private String name;
private int age;
public CustomObject(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
@Override
public String toString() {
return name;
}
}
Spinner spinner = findViewById(R.id.spinner);
List customObjects = new ArrayList<>();
customObjects.add(new CustomObject("Object 1", 20));
customObjects.add(new CustomObject("Object 2", 30));
customObjects.add(new CustomObject("Object 3", 40));
ArrayAdapter adapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, customObjects);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView> parent, View view, int position, long id) {
CustomObject selectedObject = (CustomObject) parent.getItemAtPosition(position);
Toast.makeText(getApplicationContext(), "Selected: " + selectedObject.getName(), Toast.LENGTH_SHORT).show();
}
@Override
public void onNothingSelected(AdapterView> parent) {
// Do nothing
}
});
通过使用getItemAtPosition()方法,可以获取选定的自定义对象。这样就可以在选择项更改时获取选定项的属性。在示例中,当选定项更改时,会显示一个Toast来显示选定的对象的名称。
请确保在布局文件中添加了Spinner,并将其ID设置为"spinner"。