我正在使用SMACK編寫XMPP客戶端。Android runOnUiThread - 如何通過活動
所以,當我想更新我的contactList - ListAdapter.notifyDataSetChanged需要在UI線程中運行,但顯然SMACK庫在RosterListener上使用多線程(實際上是一件好事)。但問題在於:運行s.th.在UI線程中,我需要一個有效的上下文。
但我該如何得到它?將活動的上下文傳遞給RosterListener的註冊函數是我想到的第一個 - 但是在我到達註冊函數之前,我在不同的類中有一些函數,而且我不太喜歡它通過上下文一遍又一遍,直到它最終到達目的地,它將被使用。
我想,我不是唯一一個遇到過這個問題的人,那麼你會如何解決它?也許是一個單身人士,只是爲了挽救這一個背景(在我看來,這是一個更不利的想法......) 或者也許是我的整個設計有缺陷? 是否有可能從任何地方獲得UI線程?
底線:我沒有真正的線索如何處理它,此刻我通過多個函數傳遞上下文作爲參數,但有沒有更好的方法來做到這一點。
感謝您的任何幫助。
這是一個絕妙的主意,特別是對於聊天客戶端來說,後臺服務非常有用 - 它也解決了我的問題。謝謝;-) –
那麼你可能想接受這個答案,對吧? –