spinner обычно отображает только одну строку в моем случае. Я хочу назначить IDpersonne и Name, , а счетчик должен указать мне имя. , и когда я получаю выбранный элемент, я должен получить идентификатор. Как я могу это сделать?Spinner Android Элемент ценности и элемент отображения
1
A
ответ
1
Вы можете использовать Adapter. В принципе, адаптер представляет собой оболочку ваших данных, которые генерируют элементы для показа в Spinner или ListView и т. Д.
Существует несколько вариантов реализации адаптеров, и вы можете создать свои собственные, если ни одна из них не соответствует вашей структуре данных.
2
Я предполагаю, что вы имеете ваши пункты расположены в ArrayList из HashMap Создайте свой адаптер следующим образом:
ArrayAdapter<> adapter=new ArrayAdapter(context, android.R.layout.simple_spinner_item_1, listItems)
{
public Object getItem(int position)
{
HashMap<String, String> tblItem=listItems.get(position);
return tblItem.get("NAME");
}
public int getCount()
{
listItems.size();
}
}
Установите этот адаптер на блесны:
spinner.setAdapter(adapter);
получить элемент по выбору с помощью:
spinner.setOnItemSelectedListener(new OnItemSelectedListener()
{
public void onItemSelected(AdapterView adapterView, View view, int position, long id)
{
HashMap<String, String> tblItem=listItems.get(position);
//Use this map to get other values in list
}
});