2012-02-04 7 views
0

현재 정적 데이터로 채워진 ListFragment가 컴파일 타임에 고정되어 있습니다. 실제로 목록의 데이터를 웹에서 스크래핑하기를 원합니다.원격 데이터로 ListFragment 채우기

검색 및 구문 분석을 수행 할 때 jsoup을 사용하려고합니다.하지만 jsoup를 ListFragment에 연결하는 가장 좋은 방법은 무엇입니까?

AsyncTaskLoader와 같은 로더를 사용해야합니까? API 문서에서 로더는 "내용이 변경 될 때 데이터 소스를 모니터링하고 새로운 결과를 제공해야 함"이라고 말했기 때문에 확실하지 않았습니다. 그러나 ListFragment에 대한 데이터를 검색하는 것은 한 번만 수행됩니다. 필요가 없습니다. 소스를 모니터링합니다.

감사의 말을 전하면됩니다.

+0

왜 ArrayAdapter를 사용하지 않습니까? – kingston

+0

정적 데이터 용으로 ArrayAdapter를 사용하고 있으며 웹에서 스크랩 한 데이터를 사용할 계획입니다. 문제는 웹에서 검색을 구현하는 가장 좋은 방법입니다. –

+0

UI 스레드에서 실행되므로 내 조각의 onActivityCreated()에서 검색을 수행 할 수 없습니다. –

답변

0

나는 문제를 해결하기 위해 AsyncTaskLoader를 확장하고 OK로 작동해야했습니다. public List loadInBackground() 나는 데이터를 다운로드하고 있는데 그게 전부입니다.

나는 지원 V4의 samplesandroid/지원/V4/샘플/Support4Demos/SRC/COM/예/안드로이드/supportv4/응용 프로그램/LoaderCustomSupport.java

0

예를 사용해야 AsyncTaskLoader을 확인의를 권장합니다. doInBackground() 메서드를 사용하여 구문 분석을 수행하고 onPostExecute() 메서드를 사용하여 jsoup 데이터를 검색합니다.

ListFragment를 사용하고 있으므로 AsyncTaskLoader에서 ListFragment로 정보를 전달하려면 다음 게시물이 유용 할 수 있습니다. 트릭은 인터페이스를 사용하여 AsyncTaskLoader에서 ListFragment로 콜백하는 것입니다.

Use Interface to callback from Task to Fragment