리사이클러 뷰에 크롤링한 결과 표시하기
2019. 12. 9. 15:13ㆍ실천해본것들
android put crawling result into recyclerview
크롤링한 결과를 recyclerview에 표현하고 싶다.
근데 크롤링은 web과 통신을 해서 결과를 받아오는 과정이기 때문에 async, 혹은 핸들러로 처리해야한다.
그런데 item을 새로 추가할 때 변경한 결과를 notifyDataSetChanged 로 반영하려 하면
IllegalStateException 이 뜨고,
Cannot call this method while RecyclerView is computing a layout or scrolling.... 문구가 뜨면서 제대로 나오지 않는다.
참고 -
이럴때는 onPostExecute 내부에서 핸들러를 통해
1
2
3
4
5
6
7
8
|
Handler handler = new Handler();
final Runnable r = new Runnable() {
public void run() {
adapter.notifyDataSetChanged();
}
};
|
변경결과를 갱신해준다.
추가) 만약 checkbox를 recyclerview item에 만들었을때 동일한 문제가 발생한다면 여기를 살펴봐도 좋을 것 같다
'실천해본것들' 카테고리의 다른 글
install PyQt designer (0) | 2020.07.24 |
---|---|
GCP - Kubernetes 예시 사용해보기(GKE) (0) | 2020.07.17 |
(legacy-170720) Google Speech API quick start (0) | 2020.07.14 |
안드로이드 진동 감지, 가속도계, 진동 발생 (0) | 2020.03.08 |
android speechrecognizer speech to text (0) | 2019.12.04 |