Android 如何在java中为数组中的每个元素生成switch case语句? 因此,在短时间内,我有一个包含城市名称(纽约、旧金山、西雅图等)的列表。用户添加到该数组中,因此对于每个用户,该数组的大小和名称都将不同。我试图制作一个下拉菜单微调器,为此我需要使用switch语句。所以,我不知道如何循环遍历arraylist并为数组的每个元素生成case语句?有人能帮忙吗

Android 如何在java中为数组中的每个元素生成switch case语句? 因此,在短时间内,我有一个包含城市名称(纽约、旧金山、西雅图等)的列表。用户添加到该数组中,因此对于每个用户,该数组的大小和名称都将不同。我试图制作一个下拉菜单微调器,为此我需要使用switch语句。所以,我不知道如何循环遍历arraylist并为数组的每个元素生成case语句?有人能帮忙吗,android,for-loop,switch-statement,spinner,android-arrayadapter,Android,For Loop,Switch Statement,Spinner,Android Arrayadapter,干杯~ dropDownspinner.setAdapter(citySpinner); dropDownspinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public

干杯~

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

                            }
                        });
dropDownspinner.setAdapter(citySpinner);
dropDownspinner.setOnItemSelectedListener(新的AdapterView.OnItemSelectedListener()){
@凌驾
已选择公共视图(AdapterView AdapterView、View视图、int i、long l)
{
开关(一)
{
//所以我想知道如何使用for循环并为数组中的每个元素创建一个实例。
}
}
@凌驾
未选择公共无效(AdapterView AdapterView){
}
});

如何将每个用户的城市数据存储在hashmap中,其中键为用户名,值为每个用户的城市列表

例如,如果用户1的城市列表为LISTOFUR1CITIES,类型为list,则可以执行以下操作:

Map<String, List<String>> userCities = new HashMap();
userCities.put("user1", listOfUser1Cities);
以获取该用户的城市。这样就不需要开关盒。

dropDownspinner.setAdapter(citySpinner);
 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) {

                    }
                });
dropDownspinner.setOnItemSelectedListener(新的AdapterView.OnItemSelectedListener()){ @凌驾 已选择公共视图(AdapterView AdapterView、View视图、int i、long l) { Log.e(“选定:”,list.get(i)) } @凌驾 未选择公共无效(AdapterView AdapterView){ } });
“为此,我需要使用一个switch语句”:你是如何得到这个想法的?@Henry在每个例子中,我都见过当在android中使用一个带有数组适配器的微调器制作下拉菜单时,总是使用switch语句来制作下拉微调器中的每个项目。我不确定是否有其他方法来实现它。但我还是想知道,您是否可以为arrayListgetView(int position){String name=array.get(position)}中的每个元素生成一个case语句。@q.Plz发布您的示例。@tinysunlight我添加了我试图做的事情,但我有点迷路了。我在其中添加了一些代码。我不确定你的方法是否有效。因为我必须处理在OnItemSelected()方法中选择的每个位置,
 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) {

                    }
                });