我有一個服務在後臺運行與定時事件。每5分鐘我想下載一個新的數據列表並更新一個arrayadapter(用於主Activity中的AutoComplete Textview框)。我該怎麼做呢?或者如果這不能從服務中獲得?Android更新從後臺服務arrayadapter數據服務
我試圖使TextView的公共靜態和直接設置一個適配器,但程序崩潰說行無法從「線程沒有叫Looper.prepare」
謝謝完成。
我有一個服務在後臺運行與定時事件。每5分鐘我想下載一個新的數據列表並更新一個arrayadapter(用於主Activity中的AutoComplete Textview框)。我該怎麼做呢?或者如果這不能從服務中獲得?Android更新從後臺服務arrayadapter數據服務
我試圖使TextView的公共靜態和直接設置一個適配器,但程序崩潰說行無法從「線程沒有叫Looper.prepare」
謝謝完成。
,你得到的錯誤是因爲你試圖從非UI線程更新UI。嘗試使用runOnUiThread()
,把東西更新到runOnUiThread()
裏面的UI。
UPDATE
如果在服務更新,你應該使用上下文,而不是ACTIVITY_NAME。
Activity_name.this.runOnUiThread(new Runnable() {
@Override
public void run() {
// here you can add stuff to Update the UI.
}
});
你能不能舉一個例子。謝謝! –
檢查我更新的答案並添加一些代碼,讓我知道你在嘗試什麼。 –
工作完美!謝謝! –
你應該添加一些代碼的東西,你怎麼嘗試它。 –
@James Gu - 看看我的答案,希望你能從中得到你的作品。 – user370305