对于onClick函数,我该如何使它为我提供当前列表中的下一个元素?

时间:2015-10-17 23:51:01

标签: java android android-studio skip anagram

我正在为Android工作室中的Android安装漫画应用程序。我目前正在做一个"跳过"跳过列表中当前单词的方法,并显示列表中的下一个单词。我需要一个按钮来执行此操作,但每次单击它时,它会将我带到最后一个元素。我每次调用该方法时都会猜测,它只是从头到尾迭代并向我显示最后一个元素。

    public void skip (View v){
        TextView scrambleView = (TextView) findViewById(R.id.scrambleView);

        for (ListIterator<String> i = wordBank.listIterator(); i.hasNext();) {
            String item = i.next();
            scrambleView.setText(scramble(r, item));
    }
}

2 个答案:

答案 0 :(得分:0)

而不是使用for循环(我真的不明白你为什么要使用它),只需从列表中获取下一个值:

public void skip (View v){

    TextView scrambleView = (TextView) findViewById(R.id.scrambleView);
    String item = wordBank.get(next_index);
    scrambleView.setText(scramble(r, item));

}

如果您不了解索引,可以使用如下方法:

public String getNext(String yourWord) {
       int idx = wordBank.indexOf(yourWord);
       if (idx < 0 || idx+1 == myList.size())
           return "";

       return wordBank.get(idx + 1);
}

答案 1 :(得分:0)

您首先不需要使用循环。你可以使用:

public void skip (View v){
    TextView scrambleView = (TextView) findViewById(R.id.scrambleView);
    String item=wordBank.listIterator().next();
    scrambleView.setText(scramble(r, item));
}