Animasyonun silinmesi için sağ tarafa hızlıca kaydırın. Kart görüntüsünü doğru kaydırdığım an, saniyenin onda biri için geri dönüp gelir ve ardından yanıp sönmeye neden olur.Bir kart görüntülemesini silmek için hızlıca kaydırma, bir önceki saniyede titremeye neden oluyor.
Kodum, dokunma dokunma dinleyicisi için bu şekilde gider. Bağdaştırıcıyı da bildiren İçerik çözümleyicisini güncelliyorum. Ben noktalarını kırmak koyduğunuzda
SwipeableRecyclerViewTouchListener swipeTouchListener =
new SwipeableRecyclerViewTouchListener(recyclerView,
new SwipeableRecyclerViewTouchListener.SwipeListener() {
@Override
public boolean canSwipe(int position) {
return true;
}
@Override
public void onDismissedBySwipeRight(RecyclerView recyclerView, int[] reverseSortedPositions) {
for (int position : reverseSortedPositions) {
Post post = posts.get(position);
post.setIsDeleted(true);
getActivity().getContentResolver().update(PostsContract.PostEntry.buildUriForPost(posts.get(position).get_ID()), Utility.changePostToContentValue(post), "_id=" + post.get_ID(),null);
posts.remove(position);
adapter.notifyItemRemoved(position);
}
}
});
recyclerView.addOnItemTouchListener(swipeTouchListener);
Benim onLoadFinished bu
@Override
public void onLoadFinished(Loader<Cursor> loader, Cursor data) {
if(data!=null && data.getCount() != posts.size()){
posts.clear();
while (data.moveToNext()){
Post post = new Post(data);
posts.add(post);
adapter.notifyDataSetChanged();
}
}
}
benziyor. Silinen kartın görünmediği yerde işleyicideDismissedSwipeByRight'da iyi çalışıyor. Ancak OnLoadFinished kırılma noktasına gelince, silinen kartın geri geldiğini görüyorum ve Arraylist yazılarının boyutu tamamen aynı olsa bile işlev yürütüldükten sonra otomatik olarak kapanıyor.
Silinen kart saniyenin onda biri için geri döndüğünden beri. Bu bir titreme neden olur. Herkes bana yanlış gittiğimi söyleyebilir mi? Ben docs görmek kadarıyla
Neden "OnDismissedBySwipeRight" için bir "for döngüsü" var? –
reverseSortedPositions bir dizidir. Ama sadece bir kez çalışır. Her satırın ne kadar sürdüğünü görmek için – Abhik
bazı zamanlama kodu ekleyin. Benim varsayımım, bu yöntemde çok fazla iş yaptığınız. –