RecyclerView
はSwipeRefreshLayout
の中にあり、私のPHPサーバからPost
JSONを取得します。スワイプリフレッシュレイアウトをプルするとき、同じアイテムがリサイクルビューで繰り返し表示されないようにするにはどうすればいいですか?
私のデータベースにはpost
が5つしかありません。最初にRecyclerView
を起動すると、5 post
が表示されますが、これは問題ありません。
主な問題今、私はSwipeRefreshLayout
を引くたびに、それゆえ今RecyclerView
内の全10項目、および特定の同じポストは2 times.When I現れている、再びRecyclerView
に表示する同じ5 post
を引っ張っもう一度やり直してください。もう一度表示されるので、今度は合計15個の項目がそれぞれpost
に3回表示されます。これは無限回表示されます。
この質問からanswerを試しましたが、次の2つの方法をオーバーライドしましたが、同じ項目が引き続き表示されます。それでは、私が欲しいのはわずか5 posts
利用可能なデータベースに存在する場合、それだけで、それは文句を言わない5同じposts
1つのより多くの時間を表示するSwipeRefreshLayout
を引っ張るRecyclerView
.Whenユーザーに5 posts
を表示し、
@Override
public long getItemId(int position) {
return position;
}
@Override
public int getItemViewType(int position) {
return position;
}
ですが、より新しい投稿をユーザーに知らせる。
どうすればこの問題を解決できますか?
あなたがプルダウンしたときに、私は推測するあなたの配列リストに項目を追加しているが、項目が配列リストに存在するかどうかだけをチェック追加する前に、配列リストがすでにアイテムを持っている場合は、再度 – Redman