как показать блесну из дооснащения - PullRequest
0 голосов
/ 11 мая 2019

У меня есть форма с использованием счетчика, спиннер данных, который я получаю из базы данных, используя модификацию 2, у меня есть поля id_fish и fish_name, я хотел бы показать имя_файла, но id_fish, сохраненное в базе данных.

Мне удается показать fish_name в Android Spinner, но когда я хочу сохранить форму в базе данных, это fish_name, как сохранить id_fish, в то время как отображаемое в Spinner fish_name пример, как в HTML:

<select>
  <option value="001">Tuna</option>
  <option value="002">Shark</option>
  <option value="003">Dolphin</option>
<select>

Это моя функция:

private initSpinner()
{
List<DataFish> dataFish= response.body().getData();
List<String> idFish = new ArrayList<String>();
                    List<String> fishName = new ArrayList<String>();
                    for (int i = 0; i < dataFish.size(); i++){

                        idFish.add(dataFish.get(i).getId_fish());
                        nameFish.add(dataFish.get(i).getFish_name());
                    }

                    ArrayAdapter<String> adapter = new ArrayAdapter<String>(LelangActivity.this,
                            android.R.layout.simple_spinner_item, nameFish);
                    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
                    spinnerFish.setAdapter(adapter);
}

Это спиннер SetOnclickListener:

spinnerFish.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                String fishName= parent.getItemAtPosition(position).toString();

            }

            @Override
            public void onNothingSelected(AdapterView<?> parent) {

            }
        });

1 Ответ

0 голосов
/ 12 мая 2019

Если имя рыбы подано уникально, вы можете выполнить поиск по dataFish, чтобы получить равное id.Я имею в виду в onItemSelected написать что-то вроде этого:

for (DataFish data : dataFish) {
    if (data.getFish_name().equls(fishName) {
       data.getId_fish(); //here is your fish id
    }
}

РЕДАКТИРОВАТЬ : Если имя вашей рыбы не уникально и возможно, что две рыбы с одинаковым именем имеют разные идентификаторыВы должны реализовать пользовательский адаптер для спиннера и в методе getDropDownView определить, какая рыба выбрана.Вы можете увидеть здесь

.
...