我有一个使用微调器的表单,我使用翻新2从数据库中获取的数据微调器,我有一个字段id_fish
和fish_name
,我想显示出fish_name但id_fish保存在数据库中。
我成功在android微调器中显示了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);
}
这是Spinner 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) {
}
});
答案 0 :(得分:0)
如果鱼名是唯一的,则可以在dataFish
上进行搜索以获得相等的id
。我的意思是在onItemSelected
中写下这样的内容:
for (DataFish data : dataFish) {
if (data.getFish_name().equls(fishName) {
data.getId_fish(); //here is your fish id
}
}
编辑:如果您提交的鱼名不是唯一的,并且具有相同名称的两条鱼有可能具有不同的ID,则必须为Spinner和getDropDownView
方法实现自定义适配器定义选择哪种鱼。对于实施自定义适配器,您可以看到here