RecyclerView kullanarak görüntülemek için kartların bir listesini oluşturuyorum, burada her kartın bu kartı listeden kaldırmak için bir düğmesi vardır. i RecyclerView kartı çıkarmak için()notifyItemRemoved kullandığınızdanotifyItemRemoved veya notifyDataSetChickged with RecyclerViewChanged with Android
, bu öğeyi kaldırır ve ince canlandıran ancak listede verileri doğru güncellenen değildir.
bunun yerine, ben notifyDataSetChanged() sonra listedeki öğeler kaldırılır ve doğru olarak güncellenen, ama sonra kartları animasyon yok geçerseniz.
Birisi notifyItemRemoved() öğesini kullanma konusunda herhangi bir deneyimi var ve notifyDataSetChanged dışında neden farklı davrandığını biliyor mu? @pskink olarak
private List<DetectedIssue> issues = new ArrayList<DetectedIssue>();
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
// - get element from your dataset at this position
// - replace the contents of the view with that element
if(position >0){
RiskViewHolder riskHolder = (RiskViewHolder)holder;
final int index = position - 1;
final DetectedIssue anIssue = issues.get(index);
riskHolder.button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
int index = issues.indexOf(anIssue);
issues.remove(anIssue);
notifyItemRemoved(index);
//notifyDataSetChanged();
} catch (SQLException e) {
e.printStackTrace();
}
}
});
}
}
@Override
public int getItemCount() {
return (issues.size()+1);
}
olduğu (index + 1) – pskink
Farklı dizinler kaldırılıyor –
Dizin doğru. NotifyDataSetChanged() yerine ..... – revolutionary