簡體   English   中英

取消adapter.notifyDataSetChanged

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM