java - 根据 ArrayList 中的值切换微调器中的值

标签 java android

我有一个动态生成的数组列表,它总共可以存储 5 个元素。现在这个数组列表可以包含 2,3,4,5,6 作为元素。有时,其中一些元素可能会丢失,因为它是动态生成的。我想通过单击按钮在数组列表中切换微调器中的位置。如何跟踪显示的元素并移动到下一个元素?

例如,在 onCreate 中,我检测 Arraylist 的第一个元素(如果我设置为 2)

spin.setSelectedItem(aList.get(1));

上面将我在微调器中的选择设置为 2。

单击按钮时我想切换到列表中的下一个元素 - 这里的问题是下一个元素可以存在或不存在我使用以下检查: if ((spin.getSelectedItemPosition()) < Integer.valueOf(pages.get(pages.size()-1)))

但是现在如何将 Spinner 值设置为上述 if 条件中的下一个元素?

编辑

目前我正在做类似的事情:

int current = spin.getSelectedItemPosition();
int nextPos = (pages.indexOf(String.valueOf(current)))+1;
spin.setSelection(Integer.valueOf(pages.get(nextPos)));

其中 spin 是我的微调器,pages 是我拥有的数组列表。

最佳答案

您可以简单地使用当前索引并使用 setSelection 方法,如下所示:

public void showNext(View v){
    int nextIndex = sp.getSelectedItemPosition()+1;
    if(nextIndex < spItems.size())
    {   
        sp.setSelection(nextIndex);
    }
}

如果你不想直接使用getSelectedItemPosition,你可以保留一个全局整型变量currentIndex,并在onItemSelected中设置它旋转器的方法。并在按钮单击方法中使用它。

希望有帮助。

关于java - 根据 ArrayList 中的值切换微调器中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27653611/

相关文章:

Java线程存储

java - Android 中如何知道线程是否正在运行

java - `file://` uri 前缀是我可以硬编码的吗?

android - 在 AlertDialog 之后调用新的 Intent

java - 如何使用 java 运行 java/bin 命令?

java - Java 中的插值 : Mapping a random number from one range to another

java - 错误 - MapReduce 中的 Hadoop 字数统计程序

java - 二进制算术运算

android - 即使状态发生变化,我的可组合 View 也不会自行重组

android - 我开始 Activity 后,应用程序即被终止