Comment ajouter par programme 2 textview dans un linéaire de la mise en page

Comment ajouter par programme 2 textview dans un linéaire de la mise en page

Salut tout le monde,

Je suis l'obtention des champs "Nom" et "Skoda" de l'API. Il y aura x nombre d'éléments de ce genre. Comme pour la conception, je dois leur montrer que, comme dans l'image suivante.

J'ai donc décidé de créer deux textview par programmation dans un linéaire de la mise en page nommée "childLayout" comme suit.

-- RelativeLayout

  -- Linear Layout
        -- TextView  Textview --
  -- Linear Layout 

  -- Linear Layout
        -- TextView  Textview --
  -- Linear Layout      

  -- Linear Layout
        -- TextView  Textview --
  -- Linear Layout 

--RelativeLayout

Mais je n'obtiens pas le résultat souhaité. Merci de m'aider à résoudre ce problème.

Voici le code :

TextView mType;
TextView mValue;        
for (int i = 0; i < getDetailedDescAL.size(); i++) {
LinearLayout childLayout = new LinearLayout(
DetailedCategories.this);
LinearLayout.LayoutParams linearParams = new LinearLayout.LayoutParams(
LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT);
childLayout.setLayoutParams(linearParams);
mType = new TextView(DetailedCategories.this);
mValue = new TextView(DetailedCategories.this);
mType.setLayoutParams(new TableLayout.LayoutParams(
LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT, 1f));
mValue.setLayoutParams(new TableLayout.LayoutParams(
LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT, 1f));
mType.setTextSize(17);
mType.setPadding(5, 3, 0, 3);
mType.setTypeface(Typeface.DEFAULT_BOLD);
mType.setGravity(Gravity.LEFT | Gravity.CENTER);
mValue.setTextSize(16);
mValue.setPadding(5, 3, 0, 3);
mValue.setTypeface(null, Typeface.ITALIC);
mValue.setGravity(Gravity.LEFT | Gravity.CENTER);
mType.setText(getDetailedDescAL.get(i).getmPropertyType());
mValue.setText(getDetailedDescAL.get(i).getmPropertyValue());
childLayout.addView(mValue, 0);
childLayout.addView(mType, 0);
RelativeLayout.LayoutParams relativeParams = 
new RelativeLayout.LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
relativeParams.addRule(RelativeLayout.BELOW);
Details.addView(childLayout, relativeParams);
//Details is the relative layout declared in XML
}

La sortie est :

Comment ajouter par programme 2 textview dans un linéaire de la mise en page

Il semble que la textviews sont prépondérantes. Comment résoudre ce problème.

Essayez d'ajouter votre point de vue dans un LinearLayout avec orientation verticale à la place d'un RelativeLayout.

OriginalL'auteur Rethinavel Pillai | 2013-05-27