2016-09-08 6 views
0

RecyclerViewでいくつかのアイテムを削除しても、バグが発生することはありませんが、ときどき発生します。アイテムが削除されずに、引き続きrecyclerViewに表示され、永久に削除できないことがあります。以下は私のコードです:ループバグのrecyclerViewのnotifyItemRemoved?

//the positions is a collection,which collect my item positions that should be removed. 

int realPosition; 
int temp = 0; 
for (int i = 0; i < positions.size(); i++) { 
    realPosition = positions.get(i) - temp; 
    getAdapter().remove(realPosition); 
    getAdapter().notifyItemRemoved(realPosition); 
    temp++; 
} 

私の英語は貧しいです、あなたが理解できることを願っています。誰でも助けてくれますか?どうもありがとうございました。

答えて

0

あなたは、あなたのコードでこの

int realPosition; 
int temp = 0; 
for (int i = 0; i < positions.size(); i++) { 
    realPosition = positions.get(i) - temp; 
    getAdapter().remove(realPosition); 
    temp++; 
} 
getAdapter().notifyDataSetChanged(); 

問題を試みるループにしてリサイクル業者ビューから項目を削除したい場合は、あなたのループがrecyclerViewの位置をので、あなたのnotifyItemRemoved(realPositionを)更新されます実行されます削除されるたびということですあなたが実際に望んでいるもの以外のもの....これが役に立ったらいいですか

+0

THX大変です!そして、最後に私はより良い方法を得る 'for(int i = positions.size() - 1:i> = 0; i - )' –

+0

これが助けになった場合、 – bharath

関連する問題