【问题标题】:how to show spinner from retrofit如何从改造中显示微调器
【发布时间】:2019-05-12 15:49:54
【问题描述】:

我有一个使用微调器的表单,我使用改造 2 从数据库获取的数据微调器,我有一个字段 id_fishfish_name,我想显示保存在数据库中的 fish_name 但 id_fish。

我成功在 android spinner 中显示 fish_name 但是当我想将表单保存到数据库时是 fish_name , 如何保存id_fish,而微调器中显示的是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) {

            }
        });

【问题讨论】:

    标签: android retrofit android-spinner


    【解决方案1】:

    如果鱼名是唯一的,您可以搜索 dataFish 以获得相同的 id。我的意思是在onItemSelected 写这样的东西:

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

    编辑:如果您的鱼名不是唯一的,并且两条同名的鱼可能具有不同的 id,您必须为微调器实现自定义适配器,并在 getDropDownView 方法中定义哪个鱼被选中。要实现自定义适配器,您可以看到 here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-09
      • 2021-12-05
      • 1970-01-01
      相关资源
      最近更新 更多