마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

listview 아이템삭제..

0 추천
안녕하세요 초보개발자입니다;;

지금 메인 액티비티에서..

for(int i=0; i < listview.getChildCount(); i ++){
     listview.removeViewAt(i);
    }
    
    adapter.notifyDataSetChanged();

이런식으로.. item을 지워주고 있는데요.................

이런 에러가 뜹니다 ㅠㅠ

도데체 왜 안지워지는 걸까요 ㅠㅠ

저런방식으로 하지 않고..

arraylist를 초기화후에..

adapter.notifyDataSetChanged();

해줘도.. 지워지지 않습니다 ㅠㅠ 고수분들 도와주세요 ㅜㅜ

 

 

 

Thread [<1> main] (Suspended (exception UnsupportedOperationException))
 ListView(AdapterView).removeViewAt(int) line: 511
 MyProduct.onClick(View) line: 305
 ImageView(View).performClick() line: 3511
 View$PerformClick.run() line: 14105
 ViewRootImpl(Handler).handleCallback(Message) line: 605
 ViewRootImpl(Handler).dispatchMessage(Message) line: 92
 Looper.loop() line: 137
 ActivityThread.main(String[]) line: 4449
 Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) line: not available [native method]
 Method.invoke(Object, Object...) line: 511
 ZygoteInit$MethodAndArgsCaller.run() line: 787
 ZygoteInit.main(String[]) line: 554
 NativeStart.main(String[]) line: not available [native method]
mamongs (4,050 포인트) 님이 2013년 8월 23일 질문

1개의 답변

0 추천

리스트 아이템 삭제랑 관련해서는 ListView는 건드리지 않습니다.

선언하신 ArrayList 와 Adapter만 이용하면 됩니다.

특정 행에 대한 삭제는  

arrayList.remove(index); -> adapter.notifyDataSetChanged();

전체 행 삭제는

arrayList.clear();  -> adapter.notifyDataSetChanged();

이렇게 하시면 됩니다.

Gradler (109,780 포인트) 님이 2013년 8월 23일 답변
...