繁体   English   中英

Cardview Android中的“收藏夹”按钮出错

[英]Error with favorite button in cardview Android

卡片视图中的收藏夹按钮有问题。 我是编程的初学者。 所以我不知道到底是什么错误。 我使用firebase在cardview中设置数据和文本,然后获取src并设置为另一个活动。

E/JavaBinder: !!! FAILED BINDER TRANSACTION !!!  (parcel size = 19121696)
E/AndroidRuntime: Error reporting crash
                  android.os.TransactionTooLargeException: data parcel size 19121696 bytes
                      at android.os.BinderProxy.transactNative(Native Method)
                      at android.os.BinderProxy.transact(Binder.java:503)
                      at android.app.ActivityManagerProxy.handleApplicationCrash(ActivityManagerNative.java:5523)
                      at com.android.internal.os.RuntimeInit$UncaughtHandler.uncaughtException(RuntimeInit.java:96)
                      at com.google.firebase.crash.FirebaseCrash$zzc.uncaughtException(Unknown Source)
                      at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:693)
                      at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:690)

我的密码

viewHolder.mStarBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(final View view) {
    mProccessStar = true;
    mDatabaseStar.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            DatabaseReference newPost = mDatabaseStar.push();
            newPost.child("title").setValue(model.getTitle());
            newPost.child("desc").setValue(model.getDesc());

            if (mProccessStar) {
                if (dataSnapshot.child(post_key1).hasChild(mAuth1.getCurrentUser().getUid())) {
                    mDatabaseStar.child(post_key1).child(mAuth1.getCurrentUser().getUid()).removeValue();
                    mProccessStar = false;
                } else {
                    mDatabaseStar.child(post_key1).child(mAuth1.getCurrentUser().getUid()).setValue(newPost);
                    mProccessStar = false;
                }
            }
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });

    public void setStarBtn (final String post_key1){
        mDatabaseStar.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                if (dataSnapshot.child(post_key1).hasChild(mAuth.getCurrentUser().getUid())){
                    mStarBtn.setImageResource(R.mipmap.ic_star_gold);
                }else {
                    mStarBtn.setImageResource(R.mipmap.ic_star_gray);
                }
            }

            @Override
            public void onCancelled(DatabaseError databaseError) {

            }
        });
    }

使用方法synetask或doInBackground

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM