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

리스트뷰 갱신 질문좀할게여..

0 추천
프로그램 진행순서가..

리스트뷰에 setAdapter를 합니다.

그러면 리스트뷰가 보여지는데..

버튼을 클릭하면 다이얼로그창이 뜹니다. 이때 다이얼로그에서 아이템을 선택하면

리스트뷰 값이 바껴서 다시 불러와야하는데 어떻게 해야할지 모르겠네요..

 

ex)setAdapter하기전 vector에 값을 채워줄때 (조건)6보다 작은 아이템들을 넣어주고있습니다.

->그리고 getView를 해서 리스트뷰가 보여집니다.->버튼을 눌러 다이얼로그창을 띠워 숫자 3을 선택합니다.

->(조건) 3보다 작은 아이템들을 넣어줍니다. -> 그럼 갱신된 리스트뷰를 보고 싶습니다. <=이부분이 제가 하고싶은부분.

다이얼로그는 리스트다이얼로그입니다.

 

구현은 전부 다 끝나고 실행은 잘됩니다. 문제는 다이얼로그에서 (조건)숫자를 클릭했을때 다시한번

vector에 값을 채워넣어야하는데...화면 갱신을 어떻게 할지 잘모르겠습니다.

 

첫번째방법으로 스레드를 썻는데...동작하던중에 null포인트 때문에 실패.

 

두번째로 방법으로 아직 안해봤는데, 다시한번 같은 화면을 인텐트하는게 가능할지..;;

가능하더라고 인텐트는 같은화면에 또 같은 화면을 덮는거 같아서 꺼림칙하네요..

 

세번째방법은 어뎁터에 notifyDataSetChanged()를 해주는건데.. 이건 갯수만 새로고쳐주는지.

조건을 걸어놓은 변수는 사용도안하는것같은데..제가 잘못사용한것인지..

 

다른 방법이나 좋은 방법없을까요..ㅠㅠ
뇽뇽이2841 (1,120 포인트) 님이 2014년 3월 3일 질문
뇽뇽이2841님이 2014년 3월 3일 수정
참고로 vector에 들어갈 값을 추가하는게 아니라, 새로 넣고싶습니다.
다이얼로그에 들어있는 조건을 거쳐서..

1개의 답변

+1 추천
  1. java 에서 vector 는 array list 에 비해 매우 느립니다. array list 를 사용하세요 (cpp 하시던 분들이 주로 실수를 하십니다.)
  2. array list 에 값을 갱신 한 뒤 adapter.notifyDataSetChanged 를 호출 하면 변경 된 값이 적용되는게 정상입니다. 코드가 잘못된게 아닌가 싶습니다. 
aucd29 (218,390 포인트) 님이 2014년 3월 3일 답변
답변감사합니다 다시한번 해볼게요..그리고 vector 조언 감사합니다.
...