繁体   English   中英

从 Android 中的 Java 列表中删除项目

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM