2011-04-13 1 views
0

Je rencontre un problème en définissant le CheckBox en Java parce que je ne veux pas le définir dans un fichier de mise en page XML. J'ai le nombre de HashTable. Je veux afficher CheckBoxes selon le nombre de ce nombre HashTable.Comment définir ChekBoxes en Java?

Voici le code

public class SHO extends Activity{ 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 


    } 
} 

Dans cette classe, je veux définir les chekboxes sans utiliser le fichier de mise en page XML.

Comment puis-je y parvenir?

+0

Afficher s'il vous plaît un code que vous avez déjà. –

+0

Citez du code afin que nous puissions mieux vous comprendre. Montrez également les erreurs que vous obtenez. –

Répondre

1

Avez-vous essayé de simplement les ajouter à votre vue et de les bricoler?

Si nous supposons que vous avez un LinearLayout comme vue racine, vous pouvez faire:

CheckBox mCheckbox = new CheckBox(this); 
    LinearLayout mLinearLayout = (LinearLayout) findViewById(R.id.linear_id); 
    mLinearLayout.addView(mCheckbox); 

C'est la façon la plus simple d'ajouter une case à cocher dynamiquement. Si vous en avez besoin de plus, faites-le simplement dans une boucle for qui est contrôlée par la quantité de tables de hachage.

Édition: De toute évidence, il y a de nombreuses façons de les ajouter et de contrôler votre vue à l'aide du code, mais ce ne sont que les bases.

Assurez-vous qu'il y a beaucoup de résultats Google si vous essayez quelque chose comme "Android ui dynamiquement" ou autre.

+0

que je fais cela, mais sa ne fonctionne pas ... 'SHO public class activité { @Override public void onCreate (Bundle savedInstanceState) { super.onCreate (savedInstanceState); setContentView (R.layout.main); CheckBox mCheckbox = nouveau CheckBox (this); LinearLayout mLinearLayout = (LinearLayout) findViewById (R.id.lin1); MLinearLayout.addView (mCheckbox) ; } } ' – Masooma

+0

@Masooma Fonctionne pour moi, essayé dans mon propre code. Donc besoin d'un peu plus d'informations que cela pour aider. Par exemple, publiez votre code source complet et votre code XML dans le message d'origine. – Klaus

0

importez android.app.Activity; importez android.os.Bundle; import android.widget.ScrollView; importez android.widget.LinearLayout; importez android.widget.Button; importez android.widget.TextView; importez android.widget.EditText; importez android.widget.CheckBox;

public class dic_tut3 extends Activité { /** Appelée lors de la première création de l'activité. */ @Override public void onCreate (groupe savedInstanceState) { super.onCreate (savedInstanceState);

ScrollView sv = new ScrollView(this); 
    LinearLayout ll = new LinearLayout(this); 
    ll.setOrientation(LinearLayout.VERTICAL); 
    sv.addView(ll); 

    TextView tv = new TextView(this); 
    tv.setText("Dynamic layouts ftw!"); 
    ll.addView(tv); 

    EditText et = new EditText(this); 
    et.setText("weeeeeeeeeee~!"); 
    ll.addView(et); 

    Button b = new Button(this); 
    b.setText("I don't do anything, but I was added dynamically. :)"); 
    ll.addView(b); 

    for(int i = 0; i < 20; i++) { 
     CheckBox cb = new CheckBox(this); 
     cb.setText("I'm dynamic!"); 
     ll.addView(cb); 
    } 
    this.setContentView(sv); 
} 

}

Questions connexes