使用对象列表填充Android Spinner

Joy*_*Joy 14 android populate spinner data-structures android-spinner

我正在使用用户对象填充我的微调器,以便稍后使用用户ID工作,但用户列表的显示显示我猜对象的地址.

所以我的问题是如何只显示对象的一个​​属性,在用户名的情况下,但仍然用整个对象填充微调器

这是我的代码:

User user1 = new User("user1",24);
User user2 = new User("user2",26);

// Creating adapter for spinner
List<User> users = new ArrayList<User>();
users.add(user1);
users.add(user2);

ArrayAdapter<User> dataAdapter = new ArrayAdapter<User>(this, 
    android.R.layout.simple_spinner_item, users);

// Drop down layout style - list view
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

Spinner _EmpSpinner =  null;
_EmpSpinner = (Spinner) findViewById(R.id.EmployeesSpinner); 

// attaching data adapter to spinner
_EmpSpinner.setAdapter(dataAdapter);
Run Code Online (Sandbox Code Playgroud)

这就是它显示的内容:

Szy*_*mon 38

尝试toString()User类中重写方法:

@Override
public String toString() {
    return this.name;
}
Run Code Online (Sandbox Code Playgroud)

  • 另外,如果你试图让`User`对象稍后保存它或者其他什么,你可以使用以下内容:`User user =(User)((Spinner)findViewById(R.id.user)). getSelectedItem();` (4认同)