[英]Removing item from Java List in Android
我在使用以下代码时遇到问题。
我正在获取项目的索引并使用它。 现在我想从列表中删除它的位置,以便它不会再次获得相同的位置,但是当我调用应用程序下面的方法时崩溃,并且当我删除行myList.remove(randomIndex);
它运行良好。 这条线有问题吗?
public void showtime() {
Random rand = new Random();
randomIndex = rand.nextInt(myList.size());
randomName = myList.get(randomIndex);
txtView.setText(randomName);
if (randomIndex==1)) {
imgLabel.setImageResource(R.drawable.Label1);
}
if (randomIndex==2)) {
imgLabel.setImageResource(R.drawable.Label2);
}
if (randomIndex==3)) {
imgLabel.setImageResource(R.drawable.Label3);
}
myList.remove(randomIndex);
}
确保这件事:
1- myList 是一个 ArrayList;
2- 调用此方法时,myList 几乎有一个元素
您的每个 if 语句都有一个语法错误。 他们有一个额外的)
if (randomIndex==1) {
imgLabel.setImageResource(R.drawable.Label1);
}
if (randomIndex==2) {
imgLabel.setImageResource(R.drawable.Label2);
}
if (randomIndex==3) {
imgLabel.setImageResource(R.drawable.Label3);
}
当您从列表中删除项目时,请确保它不应该是List它必须是ArrayList请试试这个....
它应该是
randomIndex = rand.nextInt(myList.size());
您可以检查生成的索引是否在列表边界内并避免像这样崩溃
randomIndex = rand.nextInt(myList.size()-1);
if(randomIndex <= myList.size()-1){
myList.remove(randomIndex)
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.