2016-07-08 2 views
1

J'essaie d'afficher des boutons dynamiques sur mon interface utilisateur de l'application android.Afficher 3 boutons dans une rangée pour le nombre dynamique de boutons dans android

Je peux générer le bouton dynamiquement.

Je veux 3 boutons dans chaque rangée comme horizontalement. Alors disons que j'ai 9 boutons à générer; Je veux afficher 3 boutons dans chaque rangée. Donc, il devrait y avoir 3 lignes horizontales avec chaque ligne contenant 3 boutons.

J'ai du mal à afficher SEULEMENT 3 boutons dans chaque rangée.

Voici mon exemple de code:

private void generateRedemptionButton(List<RedemptionType> redemptionTypeList){ 
    LinearLayout linLayout = new LinearLayout(this); 
    linLayout.setOrientation(LinearLayout.VERTICAL); 
    linLayout.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT)); 

    for (int i = 0; i < redemptionTypeList.size(); i++) { 
     LinearLayout linearLayoutChild = new LinearLayout(this); 
     linearLayoutChild.setOrientation(LinearLayout.VERTICAL); 
     linearLayoutChild.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT)); 

     if(i<=3){ 
      for (int j = 0; j < 3; j++) { 
       Button button = new Button(this); 
       button.setText("Some text"); 
       linearLayoutChild.addView(button); 
      } 
      linLayout.addView(linearLayoutChild); 
     } 
    } 
    linearLayout.addView(linLayout); 
} 

Mais son affichage tout à la verticale d'une ligne? J'ai changé avec les propriétés horizontales; et pour cela tous les boutons sont affichés dans une ligne horizontale. Alors même problème!

Vos commentaires m'aideront à régler le problème.

Merci à l'avance ..

+0

Vous ne les voulez pas horizontalement dans une rangée ou verticalement dans une rangée, alors quel est l'objectif? – CaseyB

+0

Je veux 3 boutons dans chaque rangée comme horizontalement. Alors disons que j'ai 9 boutons à générer; Je veux afficher 3 boutons dans chaque rangée. Donc, il devrait y avoir 3 lignes horizontales avec chaque ligne contenant 3 boutons. Tu as compris ? –

+0

@MaxBlue si vous avez besoin d'un exemple, faites le moi savoir. Je serais plus heureux d'aider –

Répondre

0

Vous devrez créer plusieurs LinearLayouts dans les mises en page.

les parents -Principaux LinearLayout - verticaux

- Row 1 - disposition linéaire horizontal

--- Ligne 1, bouton, le bouton

- Row 2 - disposition linéaire horizontal

--- Ligne 2 bouton, bouton, bouton

+0

je connais la chose. Mais ne peut pas afficher du point de vue du code. Montre-moi comment faire ça? –

+0

Il vient de vous dire comment. Maintenant, regardez dans la création de LinearLayouts par programme. – CaseyB

+0

Got it..let moi essayer –