La création de Imagebutton par programmation
Je veux créer plusieurs ImageButtons par programmation. Je suis en mesure de créer, mais l'écouteur d'événement clic continue de recevoir le même point de vue (Bouton 2), si je clique sur le bouton 0 ,button1 ou le bouton 2.
RelativeLayout gameBoard = (RelativeLayout) findViewById(R.id.RelGameboard);
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
lp.addRule(RelativeLayout.CENTER_IN_PARENT,1);
for(int i = 0 ; i < 3 ; i++)
{
ImageButton btnGreen = new ImageButton(this);
btnGreen.setImageResource(R.drawable.bola_verde);
btnGreen.setLayoutParams(lp);
btnGreen.setOnClickListener(mGreenBallOnClickListener);
btnGreen.setBackgroundColor(Color.TRANSPARENT);
btnGreen.setTag(i);
btnGreen.setId(i);
gameBoard.addView(btnGreen);
}'
Cliquez sur l'écouteur d'événement:
private View.OnClickListener mGreenBallOnClickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
//check which green ball was clicked
ImageButton imgBtn = (ImageButton) v;
Log.i("greeny","Clicked on green ball->"+imgBtn.getTag()+" v.ID->"+v.getId());
}
};
Pour tout imagebutton établi, lorsque je clique sur je obtenir : clique sur le vert de la balle->2 v. ID->2
Les boutons sont dans des positions différentes ( j'ai mis un autre rembourrage pour chacun d'eux, mais dans le but de simplifier le code, je n'ai pas mis ici )
OriginalL'auteur TranT | 2013-05-07
Vous devez vous connecter pour publier un commentaire.
Essayez d'ajouter un
onClickListener
-MODIFIER
Essayez de créer un tableau de
ImageButtons
-Vérifiez le code mis à jour...
qui va se bloquer. vous n'avez même pas initialiser chaque ImageButton objet.
vous pouvez le vérifier maintenant.
OriginalL'auteur Singh Arjun
Cela arrive parce que vous ne définissez pas de mise en page de bouton, le bouton Tout dans un même lieu.
Exemple
OriginalL'auteur Nirav Ranpara
Essayez ce code:
OriginalL'auteur user3309567