如何使用滑动控制器删除Firebase位置值

时间:2018-09-29 09:08:22

标签: android firebase firebase-realtime-database

如何使用位置删除Firebase值(滑动控制器) My database picture

如果我使用以下方法删除值,则删除随机值,我只想删除所选值

swipeController = new SwipeController(new SwipeControllerActions() {
        @Override
        public void onRightClicked(int position) {

            firebaseRecyclerAdapter1.notifyItemRemoved(position);
            firebaseRecyclerAdapter1.notifyDataSetChanged();
            mDataRef = FirebaseDatabase.getInstance().getReference().child("OrderItemsList").child(gg);
            mDataRef.child(d).removeValue().addOnCompleteListener(new OnCompleteListener<Void>() {
                @Override
                public void onComplete(@NonNull Task<Void> task) {
                    if (task.isSuccessful()) {
                        FancyToast.makeText(getApplicationContext(), "Removed  Item", FancyToast.LENGTH_LONG, FancyToast.ERROR, R.drawable.ic_clear_black_24dp).show();
                        firebaseRecyclerAdapter1.notifyDataSetChanged();
                        firebaseRecyclerAdapter1.startListening();


                    }
                }
            });

2 个答案:

答案 0 :(得分:1)

您似乎正在使用FirebaseUI的适配器。在这种情况下,您可以使用以下方法在DatabaseReference上获得节点position

mDataRef = firebaseRecyclerAdapter1.getRef(position);

然后您可以使用以下方法删除该引用处的数据:

mDataRef.removeValue().addOnCompleteListener(new OnCompleteListener<Void>() {
  ...

答案 1 :(得分:0)

您需要指定要删除的项目。例如,在您的情况下,应为:

mDataRef = FirebaseDatabase.getInstance().getReference().child("OrderItemsList");
mDataRef.child("Egg Rice").removeValue().addOnCompleteListener.. // and the rest..

这是没有代码的情况:OrderItemsList -> Egg Rice子级。