ListViewDemo4-입력한 문자열을 ListView에 추가하고 멀티선택항목 삭제하기

CODEDRAGON Development/Android

반응형

입력한 문자열을 ListView에 추가하고 멀티선택항목 삭제하기

리스트의 데이터 삭제 (다중 삭제)

   

   

강의 내용

activity_main.xml

RelativeLayout변경

Graphical Layout > Layouts-LinearLayout(Horizontal) 추가

-Graphical Layout > Form Widgets-TextView 추가

-Graphical Layout > Form Widgets-Button 추가

-Graphical Layout > Form Widgets-Button 추가

-layout_weight 속성값 지정

Graphical Layout > Composite-ListView 추가

MainActivity.java

//변수 선언

//데이터 저장소 생성 및 데이터 추가

//체크박스로 다중 선택할 수 ListView만드는 adapter객체 생성

//ListView에 ArrayAdapter등록

//선택모드 지정(멀티 모드)

implements OnClickListener

//이벤트소스와 이벤트 리스너 연결

//이벤트 핸들러

   

   

다중 삭제시 주의사항

0번 인덱스 부터 확인해 삭제할 경우 해당 인덱스를 삭제하게면 삭제한 이후 인덱스번호가 바뀌기 때문에입니다.

다중 선택 시 마지막 인덱스 부터 확인하여 해당 항목을 삭제하게 되면 삭제시에도 인덱스 변화가 없어 정확한 데이터를 삭제할 수 있습니다.

   

   

SparseBooleanArray

  • ListView 다중 선택시 선택한 position에 대한 정보를 보관하는 객체
  • get()메소드를 호출하여 선택된 position값 구합니다.
  • get()는 position값이 존재하면 true반환합니다.

   

   

선택 위젯 구성 도식도

   

   

 

   

출력 결과