java - 我的列表仅在微调器中显示前两项

标签 java android list arraylist

我从服务器获取一个列表,其中包含美国和加拿大的两个时区列表。加拿大列表的 ID 是 1,我们是 2。该列表包含字符串 ID 和一些其他字符串。我需要将该字符串 ID 列在微调器中,这就是为什么我要制作仅包含我需要的字符串的新列表。 我将国家/地区的 id 放在 switch 语句中,它应该将列表放在 spinner 中并且工作正常。但它仅显示列表中的前两项。

for (int i = 0; i < list.size(); i++)
                listCountryId.add(list.get(0).getTimeZoneModelList().get(i).getId());

所以基本上我的想法是我从服务器循环遍历我的列表,因为我总是在该列表中只有两个列表,在这种情况下我循环遍历第一个列表。这就是我硬编码的原因。当我调试时,我可以看到我的 getTimeZoneModelList() 包含完整列表,但是当我调试 listCountryId() 时,它只包含前两项。

这是我的完整代码:

private void setUpSpinner() {
        switch (model.getCountry().getCoutryId()) {
            case 1:

                for (int i = 0; i < list.size(); i++)
                    listCountryId.add(list.get(0).getTimeZoneModelList().get(i).getId());
                ArrayAdapter<String> adapterMembers = new ArrayAdapter<>(context, android.R.layout.simple_spinner_item, listCountryId);
                adapterMembers.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
                binding.timezoneSpinner.setAdapter(adapterMembers);

                Log.i(TAG, "lista idjeva: " + Arrays.toString(listCountryId.toArray()));
                break;
            case 2:
                for (int i = 0; i < list.size(); i++) {
                    listCountryId.add(list.get(1).getTimeZoneModelList().get(i).getId());
                }

                ArrayAdapter<String> adapter = new ArrayAdapter<>(
                        context, android.R.layout.simple_spinner_item, listCountryId);

                adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
                binding.timezoneSpinner.setAdapter(adapter);
                Log.i(TAG, "lista idjeva: " + Arrays.toString(listCountryId.toArray()));

                break;
        }
    }

最佳答案

您在仅包含 2 个(US 和 Canda)的 list 中循环,但实际上您需要底层代码列表

因此,在情况 1 中:您需要更改 for 循环中的列表

for (int i = 0; i < list.size(); i++)

收件人:

for (int i = 0; i < list.get(0).getTimeZoneModelList().size(); i++)

case 2做同样的事情

关于java - 我的列表仅在微调器中显示前两项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65258443/

相关文章:

java - 无法运行 string.format + 退出按钮问题

java - Android-等待更改纬度和经度

python - Map操作最后一个元素异常

java - 寻找在 Java 中验证 URL 的替代方法

java - 如何从 RPG 调用 Spring Web 服务?

java - Android编程: ANDROID_CONTEXT parameter is not passed in error

c++ - std::列表迭代器

Python:创建元组列表

java - 如何使用java在给定路径的 super 目录中查找特定文件夹

android - 将YouTube播放列表解析为Listview