【发布时间】:2013-09-10 12:58:07
【问题描述】:
我正在用用户对象填充我的微调器,以便稍后使用用户 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);
这就是它显示的内容:
【问题讨论】:
-
你的问题搞砸了,让你更清楚你想做什么,你的问题是什么
-
这里是你正在显示的对象的内存地址。您可能做了类似对象的数组列表之类的操作。您应该从对象列表中创建一个字符串列表,而不是对象列表,并将其提供给微调器。您可以创建一个 Hashmap
以在选择微调器的项目时获得好的结果 -
@Gaurav 不需要因为有人已经理解并给了我正确的答案:)
标签: android data-structures spinner android-spinner populate