所以現在我刷卡刷新我的應用程序。當它被激活時,執行一個運行異步後臺任務的服務。問題是,刷新刷指示器立即消失。如何在服務運行完畢後保持顯示(並更新我的回收視圖)? 下面是一些代碼:保持SwipeRefreshLayout顯示,直到服務完成運行
mSwipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.activity_main_swipe_refresh_layout);
mSwipeRefreshLayout.setColorSchemeResources(R.color.StatusbarColor,R.color.Accent);
mSwipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
db = new DatabaseHelper(getApplicationContext());
callRefreshService();
}
});
這裏是callRefreshService方法:
public void callRefreshService() {
try{
Intent service = new Intent(getApplicationContext(), UpdateScoresService.class);
startService(service);
}
finally {
list.clear();
list.addAll(db.getTracked());
db.closeDB();
adapter.notifyDataSetChanged();
mSwipeRefreshLayout.setRefreshing(false);
}
}
正如你可以看到我嘗試使用嘗試,最後卻沒有幫助。
發送消息你需要做的是,在一個服務?我的意思是你爲什麼不使用'AsyncTask'並停止刷新'onPostExecute()'中的視圖? – SaNtoRiaN
該服務還用於在應用程序未打開時刷新數據。我正在做你之前提到的,但我想合併代碼,不必管理兩組幾乎相同的代碼。 – user2923535