所以简而言之,我有这个包含城市名称(纽约,旧金山,西雅图等)的arraylist。并且用户添加到该数组,因此对于每个用户,该数组将具有不同的大小并具有不同的名称。我正在尝试创建一个下拉菜单微调器,为此我需要使用switch语句。所以,我不知道如何循环遍历arraylist并为数组的每个元素创建一个case语句?有人可以帮忙吗?
欢呼声〜
dropDownspinner.setAdapter(citySpinner);
dropDownspinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l)
{
switch (i)
{
//So i'm wondering how I can use a for loop and make a case for every element in an array.
}
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
答案 0 :(得分:0)
如何在hashmap中为每个用户存储城市数据,其中密钥为用户名,值为每个用户的城市列表?
例如,如果您将user1的城市列表作为listOfUser1Cities的类型为List,那么您可以这样做:
Map<String, List<String>> userCities = new HashMap();
userCities.put("user1", listOfUser1Cities);
并检索user1数据,当然你可以这样做:
userCities.get("user1");
获取该用户的城市。这种方式不需要开关盒。
答案 1 :(得分:0)
dropDownspinner.setAdapter(citySpinner);
dropDownspinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l)
{
Log.e("selected:",list.get(i))
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});