2017-05-20 3 views
0

J'ai créé un bouton bascule dans mon cardView et quand le bouton à bascule est pressé il devrait copier le cardItem à un autre fragment. Je l'ai fait pour togglebutton:Comment mettre en œuvre Serializable en utilisant le bouton bascule dans Android?

holder.favButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener(){ 
      @Override 
      public void onCheckedChanged(CompoundButton favButton, boolean isChecked){ 
       if (isChecked) 
        favButton.setBackgroundDrawable(ContextCompat.getDrawable(favButton.getContext(),R.mipmap.ic_launcher)); 
       Intent intent = new Intent(context,FavouriteFragment.class); 
       Bundle bundle = new Bundle(); 
       bundle.putSerializable("DATA", (Serializable) cardItems); 
       intent.putExtras(bundle); 
       context.startActivity(intent); 

      } 
     }); 

et c'est là que je veux récupérer les valeurs que j'ai mis.

private void initializeCardItemList(){ 
     CardItemModel cardItemModel; 
     String[] cardTitles = getResources().getStringArray(R.array.fav_cards); 
     String[] cardContents = getResources().getStringArray(R.array.fav_cards_content); 
     final int length = cardTitles.length; 
     for(int i=0;i<length;i++){ 
      cardItemModel = new CardItemModel(cardTitles[i],cardContents[i]); 
      cardItems.add(cardItemModel); 
     } 
    } 

Avec quoi dois-je remplacer cela pour initialiser les cardItems? (* n'affiche que les cartes dans lesquelles le bouton toogle est enfoncé)

Répondre

0

Voulez-vous savoir comment transmettre des données sérialisables à un autre fragment par intention? Si oui, il vous aidera Passing data through intent using Serializable

Si non, s'il vous plaît faites le moi savoir en détail. Je vous remercie.

+0

J'ai déjà vérifié cela. je voulais savoir comment initialiser les éléments de la carte. –

+0

Voulez-vous dire comment initialiser des éléments de carte "dans un autre fragment" où vous avez envoyé des données? Je pense qu'il n'est pas nécessaire d'initialiser les éléments de la carte dans un autre fragment et que vous avez juste besoin d'écrire ** Intent intent = this.getIntent(); Bundle bundle = intention.getExtras(); Liste cardItems = (Liste ) bundle.getSerializable ("DATA"); **. – Sunhee