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

리스트뷰 실시간 업데이트 관련 질문입니다. (with Twitter4j)

0 추천

TwitterStream을 사용하고 있습니다.

 

액티비티 클래스에 UserStreamListener를 implements하여 트윗 정보들을 받아오고 있습니다.

 

onStatus 함수를 통해 현재 작업중인데요, 받아온 트윗들을 리스트뷰에 올리려고 합니다.

 

현재 리스트 어댑터는 커스텀어댑터이며 본래는 ArrayAdapter를 확장했지만 현재는 BaseAdapter로 변경한 상태입니다.

 

@Override
 public void onStatus(Status current) {
  // TODO Auto-generated method stub
  Log.d("STREAMTEST", current.getText());
  
  streamWork(current);
  Log.d("STREAMTEST2", tladapter.getItem(tladapter.getCount()-1).getContent() + " " + String.valueOf(tladapter.getCount()));
  
  list_timeline.setAdapter(tladapter);
 }

 

streamWork 함수에서는 리스트 어댑터(tladapter)에 스테이터스 값(트윗 내용 등)을 추가하는 기능만 수행하구요

 

로그를 찍어본 결과 어댑터로는 값이 잘 들어가는 것을 확인했습니다.

 

하지만  리스트뷰에 setAdapter를 수행해도 트윗 내용이 나타나지 않네요..

 

구글링 등을 통해서 notifyDataSetChanged 등 다수의 방법을 사용해봤습니다만, 모두 소용이 없었습니다.

 

스트림이 아닌 일반 트위터 동작의 경우는 정상적으로 업데이트가 수행되고 있습니다. 이 경우는 한번 업데이트 할 때 한번의 동작을 수행하여서 그렇다고 생각 되는데요..

 

스트림의 경우도 리스너가 지속적으로 동작하면서 새 트윗이 올라오면 onStatus 함수 내의 내용이 수행이 되면서 setAdapter도 수행되어야 하는게 아닌가요?

erischan (230 포인트) 님이 2013년 9월 28일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...