2013-07-04 3 views
0

for 루프를 사용하여 ArrayList 데이터를 삭제하지만 루프는 내 목록의 마지막 인덱스 만 삭제합니다. 이게 뭐가 잘못 됐어? 나는 이것이 쉽다라고 생각한다. 그러나 나는 아직도 이것을 해결할 수 없다.for 루프를 사용하여 ArrayList의 데이터를 삭제하는 방법

for (int i = 0; i < selectedRowFile.size() - 1; i++) { 
    imagesFileName.remove(i); 
     mylist.remove(i); 
    adapter.notifyDataSetChanged(); 
    Toast.makeText(getApplicationContext(),"" + selectedRowFile.size() , Toast.LENGTH_LONG).show(); 
} 
+1

반복기를 사용하십시오! 이것은 안전하지 않습니다. – Maroun

+0

반복자가 무엇인지 모르는 예제를 줄 수 있습니까? 비록 내가 새로운 자바 – NewDroidDev

답변

2

난 당신이 루프를 사용하는 이유를 모르겠지만, 당신은 또한 명확한 사용하여 ArrayList 객체를 지울 수 있습니다. ArrayList 나에게 의심스러운 것 같다 취소 루프를 사용

List myList = new ArrayList<Object>(); 
myList.clear(); 

.

+0

내 배열 목록에있는 모든 데이터를 삭제하려고하지 않기 때문에 루프에 사용하려는 – NewDroidDev

+0

그럼 당신의 최고의 기회는 스티브 베넷이 준 대답을 따르는 것입니다 – JREN

4

Iterator을 사용하여 목록에서 요소를 제거해야합니다.

 Iterator<YourDataType> it = YourList.iterator(); 
     while (it.hasNext()) 
       it.remove(); 

if-else를 사용하여 제거해야하는 요소를 지정할 수 있습니다.

This은 몇 가지 힌트를 제공해야하며, 왜 Iterator를 사용해야할까요?

관련 문제