2013-04-17 46 views
0

我正在使用sendOrderedBroadcast來收集一些數據。 在resultReceiver中我解析了這些數據,但是這個操作可能需要幾秒鐘的時間。sendOrderedBroadcast resultReceiver處理程序

現在sendOrderedBroadcast有這個「Handler scheduler」參數,這似乎是我需要的,但不幸的是我不知道如何使用它。我需要的是在另一個線程上處理resultReceiver。怎麼做?

編輯: 改寫問題:在廣播接收機中,我需要解析大量數據,構造View對象並將它們添加到ArrayList。這會阻止用戶界面。我怎樣才能做到這一點而不阻礙用戶界面...我可以創建新的線程,但我無法從那裏創建視圖對象...

回答

0

看起來像你寧可必須檢查你的設計。

無論如何,視圖對象的構建需要在UI上完成。在那裏完成繁重的工作取決於你如何設計數據在視點構建中可用。

當你收到你的結果時,你可以產生一個AsyncTask,它將完成數據的解析。返回另一個對象列表,它可能是一個精簡版本(DTO),它將具有您創建視圖對象所需的屬性。不要在getter中寫入你的解析邏輯。保持簡單。這將有助於減少阻止用戶界面的時間。