2015-01-06 2 views
1

Я могу просто установить элемент в Spinner из базы данных, теперь я хочу получить текст id в spinner, но я могу это сделать, и я не могу найти имя id, выбранное пользователем. например, в HTML я могу установить простой набор идентификатор для <select> как с Spinner:Android Атрибут ID для Spinner

<select> 
    <option value="1">Volvo</option> 
    <option value="2">Saab</option> 
    <option value="3">Mercedes</option> 
    <option value="4">Audi</option> 
</select> 

теперь, как сделать это действие для Adnroid Spinner?

Cursor c = G.db.getAllMoshtarian(); 
    if (c != null && c.getCount() != 0) { 
     do { 
      String name_moshtari1 = c.getString(c.getColumnIndex("name")); 
      list_name_moshtarian.add(name_moshtari1); 
     } while (c.moveToNext()); 
    } 
    c.close(); 

    list_name = (String[]) list_name_moshtarian.toArray(new String[list_name_moshtarian.size()]); 
    ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, 
      android.R.layout.simple_spinner_item, list_name_moshtarian); 

    dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    name_moshtarian.setAdapter(dataAdapter); 
+0

Не уверен, что я понимаю ваш вопрос. Вам нужно вызвать 'setOnItemSelectedListener()' и предоставить Listener, который будет вызываться назад, когда пользователь выбирает элемент. Это то, что вы хотели знать? –

+0

@David Wasser Hi David, в html мы можем назначить id для значений. Я хочу получить значение id после выбора элемента. –

ответ

0

Вы установили OnItemSelectedListener на вашем Spinner. Когда пользователь выбирает элемент, onItemSelected() будет вызываться с положением в массиве. Вы можете использовать позицию в качестве индекса в своем массиве String, или вы можете использовать эту позицию как «идентификатор» (это будет индекс массива, от 0 до количества элементов - 1), или вы можете сохранить идентификатор в параллельный массив или хэш-карту или что-то еще.

name_moshtarian.setOnItemSelectedListener(new OnItemSelectedListener { 
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 
     // The user selected item "position" 
     String name = list_name_moshtarian.get(position); // Get the name 
    } 
}); 
Смежные вопросы