好的..这是我的问题。 我有一个带有10个项目的叮当声。 然后我随机化列表并在textview中显示随机字符串。 删除最后一个字符串后,应用程序崩溃了。任何提示要解决这个问题? 这是代码:
Collections.shuffle(learnlist);
showlearntv.setText(learnlist.get(0));
nextlearn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showlearntv.setText(learnlist.get(1));
learnlist.remove(0);
答案 0 :(得分:0)
您正尝试在可能包含少于两个元素的列表上调用get(1)
。
你应该添加一些安全检查。 E.g:
nextlearn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (!learnlist.isEmpty()) {
learnlist.remove(0);
}
if (!learnlist.isEmpty()) {
showlearntv.setText(learnlist.get(0));
}
}
答案 1 :(得分:0)
在点击处理程序上,首先删除项目
learnlist.remove(0)
然后,如果列表中有任何项目,
showlearntv.setText(learnlist.get(0));
否则做别的事。