本人写了一个for循环,用来遍历contactsList集合中的存储的全部名字,然后将符合某个搜索条件的名字又重新存入list集合中,再显示出来。
但是本人打了log后发现,这个for循环只能循环一次,是原因是本人在for循环中使用了if语句。但是本人想实现这个功能,怎样改进代码才可以呢?求帮助QWQ
但是本人打了log后发现,这个for循环只能循环一次,是原因是本人在for循环中使用了if语句。但是本人想实现这个功能,怎样改进代码才可以呢?求帮助QWQ
for(int i = 0;i<contactsList.size();i++){ String name = contactsList.get(i); if(name.contains(serchName)){ contactsList.clear(); contactsList.add(name); } Log.i("test","for循环了一次"+i+name); }
解决方案
5
contactsList.clear();
你的这条语句把list清空了;
所以只循环了一次
你的这条语句把list清空了;
所以只循环了一次
5
contactsList.clear();清空了list ,多定义一个list ,存放你需要的数据,返回这个list
10
楼上说得对啊,你contactsList.clear();这句是清空List,执行这一句后,List就为空了,size()就为0了,这一次循环完成后,再进入for循环时,i=1,已经大于ontactsList.size()了,所以不进入循环!
你需要做的就是把这句删了,看看List里放的什么对象,然后在if判断里new一个,用来临时存放查找到的元素,然后把它添加到List里就行了!
你需要做的就是把这句删了,看看List里放的什么对象,然后在if判断里new一个,用来临时存放查找到的元素,然后把它添加到List里就行了!