选择时索引0,大小0

时间:2018-09-26 04:17:46

标签: android arrays loops if-statement kotlin

我在循环内创建一个选择条件,当数据为true时,它将添加到数组中,否则为false。然后我在循环过程之外创建另一个选择条件以获取数组。那么当循环获取真实数据时,它将做一些真实的事情,如果为false则会做一些错误的事情。但是创建这些条件时出现错误。我尝试了很多情况,但仍然无法为我工作。这是我的代码。任何人都可以帮忙。

val arrayTrue = ArrayList<String?>()
val arrayFalse = ArrayList<String?>()

for (i in 0 until response.body()!!.size) {
  if (response.body()?.get(i)?.custNoktp == child.custNoktp == true) {

      arrayTrue.add("1")

  }else if (response.body()?.get(i)?.custNoktp == child.custNoktp == false){

      arrayFalse.add("0")

  }
}


if(arrayTrue.get(0).equals("1")){
     progressDialog.setMessage("True...")
     progressDialog.show()

     //do stuff here

}else if (arrayTrue.isEmpty()== true){

    progressDialog.setMessage("False...")
    progressDialog.show()

    //do stuff here
}

我已经尝试过了,但是仍然遇到相同的错误。

if(arrayTrue.get(0).equals("1")){
 progressDialog.setMessage("True...")
 progressDialog.show()

 //do stuff here

}else if (arrayFalse.equals("0")){

progressDialog.setMessage("False...")
progressDialog.show()

//do stuff here
}

Erro Log

1 个答案:

答案 0 :(得分:0)

首先检查数组是否为空,然后尝试在第一个索引处获取元素:

if(arrayTrue.isEmpty()) {
    progressDialog.setMessage("False ..");
    progressDialog.show();
} else if(arrayTrue.get(0).equals("1")) {
    progressDialog.setMessage("True ..");
    progressDialog.show();
}