Заполнение Android Spinner списком объектов
я заполняю свой счетчик объектом user, чтобы работать позже с идентификатором пользователя, но отображение списков пользователей показывает адрес объекта, который я предполагаю.
поэтому мой вопрос заключается в том, как отобразить только один атрибут объекта, в случае имени пользователя, но все же заполнить счетчик всем объектом
вот мой код:
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);
и это то, что он отображает:
2 ответов
попробовать переопределение toString()
метод User
класс:
@Override
public String toString() {
return this.name;
}
проверьте метод public View getDropDownView(int position, View view, ViewGroup parent);
вам не нужно будет переопределять toString()
метод объекта.
@Override
public View getDropDownView(int position, View view, ViewGroup parent) {
view = inflter.inflate(R.layout.obino_spinner_style, null);
TextView goalNameTV= (TextView)view.findViewById(R.id.ObiNoID_Spinner_Text);
goalNameTV.setText(goalItemList.get(position).getGoalType());
return view;
}