0

カードビューでお気に入りのボタンに問題があります。私はプログラミングの初心者です。だから私は正確にエラーが何であるか分からない。 私は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) { 

          } 
         }); 

公共ボイドsetStarBtn(最終文字列post_key1){

答えて

0
 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

関連する問題