0

我正在處理一個應用程序,其中有一個通過服務執行的後臺任務。我有一個列表,其中顯示了一些數據元素。我的情景是:如何刷新ListView服務完成其工作後?

1-用戶設置要在bg中執行的內容,並且不關閉應用程序並將其保留在此狀態。

2-後臺進程開始工作,它完成其工作並結束。但列表仍顯示用戶輸入的任務。它應該已經從列表中刪除。

這是我想實現的功能。我怎樣才能做到這一點?

還記得如果用戶執行一些操作像導航到其他屏幕等,我已經編碼它獲取新的列表查看。但是如果用戶在安排某些事情後將其留空,則視圖不會刷新。請幫我解決這個問題。任何幫助表示讚賞。

回答

0

我認爲你必須使用Service with BroadcastReceiver來解決你的問題。

// Register Broadcast Receiver 
     IntentFilter filter = new IntentFilter(MyService.MYOWNACTIONFILTER); 
     registerReceiver(myReceiver, filter); 

在服務你需要做你的後臺操作後,發送

Intent intent = new Intent(); 
    // Bundle the counter value with Intent 
    intent.putExtra("key", data); 
sendBroadcast(intent); // finally broadcast 

最後

在服務調用活動

private BroadcastReceiver myReceiver = new BroadcastReceiver() { 

    public void onReceive(Context context, Intent intent) { 
      // do your operation and refresh the list 
     } 
    } 

希望這會工作。