我正在为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));
}
}
答案 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));
}