1

我正在使用 Firebaseui 的 recyclerview 来显示购物车中的值,这是一个 RecyclerView。我在 recyclerview 的每一行都有删除按钮,当我单击删除按钮时,它应该从 Firebase 的数据库中删除值,并且 recyclerview 中的行也应该被删除。但问题是,当我单击 recyclerview 上的任意位置时,项目和数据库值都会被删除。
这是我正在使用的 onClick 代码:

  recyclerViewCart.addOnItemTouchListener(
            new RecyclerItemClickListener(Cart.this, recyclerViewCart, new RecyclerItemClickListener.OnItemClickListener() {
                @Override
                public void onItemClick(View childView, int position) {
                    Log.v(TAG, "YouClickon" + position);

                    key = mRecyclerViewAdapter.getRef(position).getKey();


                    listRef.child(key).removeValue();


                }
            }) {

            }
    );    

我只想在用户单击删除按钮时执行此操作。我该怎么做。请帮忙。

4

2 回答 2

1

肯定是:

recyclerViewCart.getRef(position).removeValue();
于 2016-10-28T08:43:03.173 回答
1

您的点击处理程序连接到整个项目,因此它确实会在单击该项目时运行。

如果您只想在用户单击按钮时删除该项目,则应将单击处理程序连接到该按钮。您可以在您的populateViewHolder()方法中执行此操作:

public void populateViewHolder(ChatHolder chatMessageViewHolder, Chat chatMessage, int position) {
    chatMessageViewHolder.getDeleteButton().setOnClickListener(...).
}
于 2016-06-10T14:22:54.623 回答