2013-09-25 5 views
6

루프에서 많은 뷰를 추가해야하지만,이 조각은 그 기능을 수행하지만 사용자가 작업을 수행 할 수있는 탐색 창과 작업 표시 줄도 제공합니다.백그라운드 스레드의 android addView

그래서이 프로세스를 원하지는 않습니다. 사용자를 차단하여 응용 프로그램을 느리게 만듭니다. b) 배경 스레드에보기를 추가하는 것이 좋습니다.

딜레마는 안드로이드가 비 UI 스레드에 추가 할보기를 좋아하지 않는다고 생각합니다. 그래서이 경우에 가장 좋은 방법이 있습니까? 다른보기가 addView 및 관련 계산으로 생성되는 동안 조각의보기에서 진행률 표시 줄보기 개체를 볼 계획입니다.

+0

당신이하고있는 일에 대해 자세히 설명해 줄 수 있습니까? 즉, 어떤 종류의 견해를 추가하고 있습니까? 내 생각 엔 일부 adapterview 변형이 작동합니다. – JoeyG

+2

"이것에 대한 모범 사례가 있습니까?" - 처음에는 "많은 의견"을 갖고 있지 않습니다. – CommonsWare

답변

17

보기를 백그라운드 스레드에 추가하는 대신 여러 개의 항목을 게시하여 작업을 분류 할 수 있습니다 UI 스레드에서 Runnables. 아래 코드는이 기술의 단순화 된 버전이지만 안드로이드 런처 앱에서 어떻게 수행되었는지와 유사합니다 :

+2

나는 그것을 얻지 못한다. . . 5 개의 LinearLayouts에 많은 항목이 채워져 있습니다. Runnable이 지연되기 전에 표시되는 ProgressBar를 표시하지 않는 Views를 어떻게 추가합니까? – Sheychan