【问题标题】:Like/Dislike System using Firebase Database喜欢/不喜欢使用 Firebase 数据库的系统
【发布时间】:2017-08-30 20:16:18
【问题描述】:

我想创建两个按钮,一个用于喜欢,另一个用于不喜欢。

我写这个:

mDatabaseLikeReference.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            if (clickLike) {

                if (dataSnapshot.hasChild(mFirebaseUser.getUid())) {

     mDatabaseRateMinsReference.child(mFirebaseUser.getUid()).removeValue();

                    clickLike= false;
                } else {
                    mDatabaseRateMinsReference.child(mFirebaseUser.getUid()).setValue(mFirebaseUser.getDisplayName());

                    clickLike= false;
                }


            } } @Override
        public void onCancelled(DatabaseError databaseError) {

        }

这是一个按钮的工作,如果用户点击喜欢按钮,然后不喜欢按钮,从数据库中删除喜欢的按钮,反之亦然?谢谢你。

【问题讨论】:

    标签: android firebase firebase-realtime-database


    【解决方案1】:

    为您的按钮实现onClickListener,并在onClick(View view) 中执行以下操作:

    // based on what button clicked, you can also check if button is enabled.
    if(view.getid()== R.id.unlikeButton){
        mDatabaseLikeReference.removeValue();
    }
    else if (view.getid()== R.id.likedButton)
        mDatabaseLikeReference.setValue(mFirebaseUser.getDisplayName());
    

    然后在你的数据库值事件监听器中:

    mDatabaseLikeReference.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                if (dataSnapshot.exists()) {
                    mDatabaseRateMinsReference
                        .child(mFirebaseUser.getUid())
                        .setValue(mFirebaseUser.getDisplayName());
                        likedbutton.setVisibility(VISIBLE);
                        unlikebutton.setVisibility(GONE);
                }
                else{
                     mDatabaseRateMinsReference
                         .child(mFirebaseUser.getUid())
                         .removeValue();
                        // enable/disable or change visibility or change color
                        likedbutton.setVisibility(GONE);
                        unlikebutton.setVisibility(VISIBLE);
                        } 
    
                     } @Override
                public void onCancelled(DatabaseError databaseError) {
    
                }
    

    【讨论】:

    • 不工作,也像我说的有两个按钮。谢谢你。
    • 我想要的功能喜欢 youtube 按钮喜欢和其他不喜欢
    • 请查看编辑中的更改,现在可以在两个按钮上使用
    猜你喜欢
    • 2018-05-27
    • 1970-01-01
    • 2022-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-06
    • 2013-05-26
    • 1970-01-01
    相关资源
    最近更新 更多