【发布时间】:2018-02-24 19:43:43
【问题描述】:
我正在开发一个小型应用项目,该项目要求用户从下拉列表中选择至少 5 个不同的值,即 Android 中的 AKA 微调器。我的问题是我需要显示城市的用户列表,然后获取用户选择的城市的 ID。
我已经到达了一个地方,我可以在微调器中读取数组的索引值,因此向它添加 1 我得到了 ID。 这个链接有答案 和我做的一样, Set Key and Value in spinner
但现在城市是按照字母顺序(A - Z)来调用的,因此 ID 不再从 1 开始。
我需要做的是,将 2 个值存储在微调器中。一个是城市 ID,另一个是城市名称。其中只有城市名称对用户可见。但只有城市 ID 会进入数据库。
请指出解决方案的方向。或者任何人对此有任何想法或解决方法,请提出建议。
String[] spinnerArray = new String[City_ID.size()];
HashMap<Integer,String> spinnerMap = new HashMap<Integer, String>();
for (int i = 0; i < City_ID.size(); i++)
{
spinnerMap.put(i,City_ID.get(i));
spinnerArray[i] = City_NAME.get(i);
}
ArrayAdapter<String> adapter =new ArrayAdapter<String>.
(context,android.R.layout.simple_spinner_item, spinnerArray);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
String name = spinner.getSelectedItem().toString();
String id = spinnerMap.get(spinner.getSelectedItemPosition());
我做错了吗?
【问题讨论】:
-
你做了什么?你的代码在哪里?
-
我已经编辑并添加了代码。请检查。
-
代码对我来说似乎很好。你确定它不起作用?
-
它可以工作,但这是旧代码块。根据新要求,我必须将 2 个值存储到微调器。根据选择,只应显示一个,另一个应读取/带入数据库。并且无法弄清楚如何做到这一点。