当我单击AlertDialog
时,对话框中的RecyclerView
在“片段”中显示重复的日期。我清除arrayList数据来解决它。
但是我想知道是否有更聪明的方法来实现这一点。有什么可能的解决方案来避免和处理重复数据的问题?
myHolder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(final View v) {
CharSequence options[] = new CharSequence[]{"Accept Request", "Cancel Request"};
final AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setItems(options, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if (which == 0){
acceptRequest(requestList.get(i).getId(),myHolder);
}
else if (which == 1){
cancelRequest(requestList.get(i).getId(),myHolder);
}
}
});
builder.show();
}
});
}
private void cancelRequest(final String uid, final MyHolder myHolder) {
friendReqDbRef.child(current_uid).child(uid).removeValue()
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
friendReqDbRef.child(uid).child(current_uid).removeValue()
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
requestList.remove(myHolder.getAdapterPosition());
notifyItemRemoved(myHolder.getAdapterPosition());
notifyItemRangeChanged(myHolder.getAdapterPosition(),requestList.size());
}
});
}
});
}