2014-05-17 2 views

답변

1

나는 목록을 사용하고 있다고 가정합니다. 다음 작업을 수행하십시오.

private void deleteSelectedItems() { 
    SparseBooleanArray checked = mListView.getCheckedItemPositions();+ 
    List<YourObject> list = mListOfObjects; 
    for (int i = 0; i < mListView.getCount(); i++) 
     if (checked.get(i)) 
      YourObject item = list.get(i); 
      mListOfObjects.remove(item); //or whatever you want to do with it. 
} 
+2

알고리즘은 비슷하지만 약간 꺼져 있습니다. 항목을 제거하면 그 이후의 항목의 위치가 변경됩니다. 따라서 위치 목록을 정렬하고 아래에서부터 제거해야합니다. https://github.com/commonsguy/cw-omnibus/blob/master/ActionMode/ActionModeMC/src/com/commonsware/android/actionmodemc/ActionModeDemo.java – CommonsWare

+0

@CommonsWare를 참조하십시오. 나는 그것을 고치 러 갈거야. –

+0

그래, 그게 내가 여기서 질문을하게 한 이유 다. @CommonsWare 링크가 문제를 해결했습니다 –