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

Adapter.notifyDataSetChanged() 질문 있습니다.

0 추천
저함수는 어뎁터 데이터가 바뀌었을때 리셋을 시켜주느 걸로 알고있습니다.

처음 실행시 어엡터를 셋팅한다음, 서버에서 데이터를 가져옵니다. 서버에 데이터가 있으면  어뎁터에 연결된 어레이를 초기화 시킨다음 데이터를 넣어 줍니다. 그리고 notifyDataSetChanged()함수를 동작시키면 데이터가 뿌려져야하는것 아닌가요??

데이터를 다가져온다음 사이즈를 찍어보면 값이 들어있습니다. 하지만 어뎁터쪽 싸이즈는 0이 나옵니다. 그리고 데이터를 가져왔을때 초기화를 하지 않으면 데이터가 잘나옵니다. 초기화는 액티비티가  실행될때, 그리고 서버에서 데이터를 가져올때 무엇이 문제가 되는것일까요.

데이터 가져올떄 초기화를 시키는것은 , 새로운 리스트를 보여주기위해서 임니다
왈라뽕다 (1,170 포인트) 님이 2013년 6월 14일 질문
어뎁터에 연결된 어레이 객체를 어떻게 초기화시키는지도 구체적으로 올려주시면 좋을거 같네요.

1개의 답변

0 추천
5번읽엇는데도 무슨말인지모르겠습니다.

일단 데이터를 가져온다음 리스트뷰에 뿌려주는데 데이터는 받아왔는데 리스트뷰에선 갯수가 0이 나온단말이죠?

네트워크에서 데이터가져올때 쓰레드쓰셧죠?

데이터 가져오는 쓰레드가 끝난시점에 어레이등에 데이터를 담고 리스트뷰 등에 아답팅을 합니다.

그럼 값이 0개가 나올수가없습니다.

값이 0개가 나온다는건, 데이터를 받아오는 중간에 아답팅을 한다던가, 제대로 저장이 안되어있거나 수많은 이유가있을텐데.. 데이터가 있는데도 값이 0개가 나온다는건 아답팅을 잘못한거겠죠.

 

소스없이 답변이 힘들겠네요..

 

아답터를 커스텀으로 만든건지 기본아답터를 사용한건지, 커스텀이라면 getCount부분을 제대로 구현했는지, getCount부분의 변수에 생성자 호출시점에서 제대로 갯수호출이되는지 추측해볼수있는경우는 많지만 소스없이 추측하는건 무의미한듯.

 

그리고 초기화라는게 변수초기화를말하는건지 어레이초기화를한다는건지 너무 광범위하네요..
기초개발자 (24,060 포인트) 님이 2013년 6월 14일 답변
...