2012-02-07 3 views
1

spinner обычно отображает только одну строку в моем случае. Я хочу назначить IDpersonne и Name, , а счетчик должен указать мне имя. , и когда я получаю выбранный элемент, я должен получить идентификатор. Как я могу это сделать?Spinner Android Элемент ценности и элемент отображения

ответ

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 
    } 
});