[英]Cancel adapter.notifyDataSetChanged
我對android有點陌生,我想知道是否有可能在運行notifyDataSetChanged()之后在中間取消它。
例如我的情況:
如果onResponse得到1作為響應,我會先得到PricePrice()然后得到getTransaction。
我將使用當前代碼設置swipeRefreshListener:
swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
getTransactions(view);
Animation fadeIn = new AlphaAnimation(0, 1);
fadeIn.setInterpolator(new AccelerateInterpolator()); //and this
fadeIn.setDuration(1000);
swipeRefreshLayout.setRefreshing(true);
layoutBalance.setAnimation(fadeIn);
mActivities_RecyclerView.setAnimation(fadeIn);
swipeRefreshLayout.setRefreshing(false);
mActivities_RecyclerViewAdapter.notifyDataSetChanged();
}
});
我將回想起getTransaction,因為我需要從API中獲取最新的數據。 但是,由於我使用改造隊列的API調用將異步運行,因此在從服務器獲取實際數據之前,我的數據將首先刷新。
因此,我的問題是可以取消notifyDataSetChanged()
還是需要更改實現?
假設您有一個名為"APIData"
,現在您已經將其分配給了適配器和recyclerview,在發生Swipereferesh之后,您已經收到刷新的數據,該數據將再次位於一個名為"APIData"
的數據模型中,現在讓我們假設這是APIData2
,現在使用
APIData.equals(APIData2)
這將檢查以前的數據是否與新的數據相同,如果為真,則不需要執行notifyDataSetChanged()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.