我想更新firebase数据库中的单个值

时间:2017-09-02 04:28:36

标签: android firebase firebase-realtime-database android-recyclerview

我使用了RecyclerView和Adapter以及inflte适配器的item_list,每行都有一个像按钮和文本一样存储喜欢的值我希望在用户点击按钮时更新值。

here is my firebase database structure 2

1 个答案:

答案 0 :(得分:3)

如果您发布了适配器的代码会更好。 但是我们假设您正在显示除了按钮之外的每个报价的当前喜欢。

因此,请从适配器的项目中获取当前值,并将其递增1。

然后你需要打电话给:

DatabaseReference mDatabase = FirebaseDatabase.getInstance().getReference("QuoteList").child("Quote");
mDatabase.child("likes").setValue(mItem.totalLikes + 1);

您可以从firebase获取当前值并将其更新为:

 DatabaseReference mDatabase = FirebaseDatabase.getInstance().getReference("QuoteList").child("Quote").child("likes");
        mDatabase.addListenerForSingleValueEvent(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                long totalLikes =(long) dataSnapshot.getValue();
                mDatabase.setValue(totalLikes + 1);
            }

            @Override
            public void onCancelled(DatabaseError databaseError) {

            }
        });

希望它会对你有所帮助。