Android 为 Spinner 分配 ID

Android Attributing the ID for Spinner

我可以简单地将项目从数据库设置到 Spinner 中,现在我想将 id 的文本放入 spinner 中,但是我可以做到,但我找不到用户选择的 id 名称。例如在 HTML 中,我可以像 Spinner:

一样将简单的集合 ID 设置为 <select>
 <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);

您在 Spinner 上设置了 OnItemSelectedListener。当用户选择一个项目时,onItemSelected() 将调用数组中的位置。您可以将该位置用作 String 数组的索引,或者您可以将该位置用作 "ID"(这将是一个数组索引,从 0 到项目数 - 1),或者您可以将 ID 存储在并行数组、散列图或其他任何内容中。

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