Я создал диалог предупреждения в фрагменте. Он показывает, когда пользователь щелкает по представлению элемента, и когда кто-то щелкает по опции диалогового окна оповещения, происходит сбой приложения.
Проблема возникает только тогда, когда вы выполняете действие для firebase, но действие завершено успешно Я проверил его, чтобы сделать тост и открыть другие действия, он работает нормально. Как я могу удалить это?
userDbRef.child(userID).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
final String user_name = dataSnapshot.child("user_name").getValue().toString();
String pic = dataSnapshot.child("user_image").getValue().toString();
String user_status = dataSnapshot.child("user_status").getValue().toString();
holder.name.setText(user_name);
holder.status.setText(user_status);
Picasso.get().load(pic).networkPolicy(NetworkPolicy.OFFLINE)
.placeholder(R.drawable.default_profile_image)
.into(holder.imageView);
holder.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(getContext());
builder.setItems(options, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if (which == 0){
acceptRequest(userID);
}
else if (which == 1){
cancelRequest(userID,dialog);
}
}
});
builder.show();
}
});
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
private void cancelRequest(final String uid, final DialogInterface dialog) {
friendReqDbRef.child(uid).child(currentUser_uid).removeValue()
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()){
}
}
});
}