Comment désactiver / activer tous les enfants sur LinearLayout dans Android

Y a-t-il une façon de programmer que tous les enfants d'une certaine disposition?

Par exemple, j'ai cette disposition avec deux enfants:

  • Définir Android TimePicker en XML
  • Comment puis-je déterminer si Android peut gérer PDF?
  • Android tiré du chemin du fichier
  • Le changement d'altitude AppBarLayout est retardé sur appCompat v24.0.0
  • Android: Définissez le bouton alpha sur sur le clic. De préférence, xml seulement
  • La valeur retourne toujours 0 où il doit retourner le nombre de lignes insérées
  • <LinearLayout android:layout_height="wrap_content" android:id="@+id/linearLayout1" android:layout_width="fill_parent"> <SeekBar android:layout_height="wrap_content" android:id="@+id/seekBar1" android:layout_weight="1" android:layout_width="fill_parent"></SeekBar> <TextView android:id="@+id/textView2" android:text="TextView" android:layout_width="wrap_content" android:textAppearance="?android:attr/textAppearanceLarge" android:layout_height="wrap_content"></TextView> </LinearLayout> 

    Et je veux faire quelque chose comme:

     LinearLayout myLayout = (LinearLayout) findViewById(R.id.linearLayout1); myLayout.setEnabled(false); 

    Pour désactiver les deux vues de texte.

    Une idée comment?

  • Existe-t-il une liste de résolutions d'écran pour tous les téléphones et tablettes basés sur Android?
  • Comment définir la position du curseur dans EditText?
  • Android: Fill Spinner From Java Code Programmatically
  • Grep the adb logcat et écris la sortie dans un fichier texte
  • Android 2.2 MediaPlayer fonctionne bien avec une URL SHOUTcast mais pas avec l'autre
  • Problèmes de rendu Android Studio, les classes n'ont pas pu être trouvées
  • 4 Solutions collect form web for “Comment désactiver / activer tous les enfants sur LinearLayout dans Android”

    Un LinearLayout étend ViewGroup, afin que vous puissiez utiliser les méthodes getChildCount () et getChildAt (index) pour itérer à travers vos enfants LinearLayout et faites ce que vous voulez avec eux. Je ne suis pas sûr de ce que vous entendez par activer / désactiver, mais si vous essayez simplement de les cacher, vous pouvez configurerVisibilité (View.GONE);

    Donc, il ressemblerait à ceci:

     LinearLayout myLayout = (LinearLayout) findViewById(R.id.linearLayout1); for ( int i = 0; i < myLayout.getChildCount(); i++ ){ View view = myLayout.getChildAt(i); view.setVisibility(View.GONE); // Or whatever you want to do with the view. } 

    Vous pouvez également désactiver / activer sans utiliser setVisibility ()

    Ajoutez une View.OnClickListener à votre CheckBox puis passez la vue que vous souhaitez désactiver dans la fonction suivante …

     private void enableDisableView(View view, boolean enabled) { view.setEnabled(enabled); if ( view instanceof ViewGroup ) { ViewGroup group = (ViewGroup)view; for ( int idx = 0 ; idx < group.getChildCount() ; idx++ ) { enableDisableView(group.getChildAt(idx), enabled); } } } 

    Avec la référence suivante Existe-t-il un moyen de désactiver tous les éléments dans une programmation spécifique programmatique?

    Pourquoi ne pas faire simplement setVisibility (View.GONE) sur la mise en page, plutôt que d'itérer à travers les enfants?

    Il suffit d'ajouter une autre disposition transparente qui correspondera à la vue originale et la modifiera visiblement lorsque vous souhaitez désactiver tous les enfants et permettre aux enfants de modifier la visibilité.

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.