recherche

Maison  >  Questions et réponses  >  le corps du texte

android - Question sur la case à cocher dans RecyclerView.

Comme le montre l'image, cliquez sur la case à cocher de l'heure d'aujourd'hui. Comment faire en sorte que toutes les cases de l'enfant soient cochées ? Veuillez me donner quelques idées 

.
曾经蜡笔没有小新曾经蜡笔没有小新2692 Il y a quelques jours1628

répondre à tous(3)je répondrai

  • phpcn_u1582

    phpcn_u15822017-07-06 10:38:18

    Xie Yao.

    1. Écoutez les événements des cases à cocher, copiez et utilisez les sous-cases à cocher

    2. Composant de case à cocher personnalisé. Je l'ai écrit moi-même et je l'utilise comme je le souhaite.

    CheckBox repeatChkBx = ( CheckBox ) findViewById( R.id.repeat_checkbox );
    repeatChkBx.setOnCheckedChangeListener(new OnCheckedChangeListener()
    {
        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
        {
            if ( isChecked )
            {
                // perform logic
            }
    
        }
    });

    répondre
    0
  • 滿天的星座

    滿天的星座2017-07-06 10:38:18

    L'utilisation de CheckBox dans RecyclerView entraînera le problème de réutilisation de ViewHolder. Le CheckBox réutilisé après le glissement héritera de l'état précédent.

    Il est recommandé de modifier l'état sélectionné dans l'entité de données liée au lieu de modifier directement l'état sélectionné de CheckBox. En même temps, dans bindData, contrôlez uniquement l'état de CheckBox en fonction de l'état sélectionné des données.

    Veuillez demander si cela est implémenté par deux couches de RecyclerView, ItemDecoration ou différents ViewTypes ?

    répondre
    0
  • 我想大声告诉你

    我想大声告诉你2017-07-06 10:38:18

    Je vais vous offrir une roue, c'est en fait très simple. Adresse : https://github.com/JerryMissT...

    répondre
    0
  • Annulerrépondre