如何在java中为数组中的每个元素创建一个switch case语句?

时间:2015-12-20 09:19:48

标签: android for-loop switch-statement spinner android-arrayadapter

所以简而言之,我有这个包含城市名称(纽约,旧金山,西雅图等)的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) {

                            }
                        });

2 个答案:

答案 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) {

                    }
                });