Android onClick méthode ne fonctionne pas sur un affichage personnalisé

J'ai commencé à travailler sur une application. - Je construire le menu d'hier, mais la onClick méthode ne fonctionne pas!
J'ai créé une classe qui étend la Vue et l'appelait MainMenuObject - cette catégorie est pour n'importe quel objet dans le menu principal (boutons, logos, etc.). J'ai créé une classe spéciale pour eux parce que je suis en train de faire une animation lorsque le menu de démarrage. Après j'ai construit le MainMenuObject classe j'ai construit une autre classe (OpeningTimesView) qui s'étend de la Vue et aura tous les boutons du menu principal, et sera fonction de l'activité principale de la mise en page.

Tout était bon, l'animation est très bien passé et je voulais mettre les auditeurs sur mes boutons, j'ai donc ajouté une mise en œuvre de l'onClickListener à la OpeningTimesView classe, et surdéfini la méthode onClick. Puis j'ai ajouté de l'auditeur sur les touches avec setOnClickListener(this) et setClickable(vrai), mais ça ne fonctionne pas! J'ai tout essayé! Merci de m'aider à comprendre ce que je fais mal. J'ai ajouté un toast à la méthode onClick qui ne s'appuie pas sur des "si", mais il ne l'affiche pas non plus.

(BTW est-il possible de définir la largeur de l'écran et de hauteur variable que toutes les classes peuvent accéder? il ne peut pas être statique, parce que vous obtenez la hauteur et la largeur d'un objet d'affichage, mais il doit y avoir une autre façon)

c'est le code:

public class OpeningTimesView extends View implements OnClickListener{
private MainMenuObjectView searchButton;
private MainMenuObjectView supportButton;
private MainMenuObjectView aboutButton;
private int screenWidth;
private int screenHeight;
public OpeningTimesView(Context context, Display dis) {
super(context);
this.screenWidth = dis.getWidth();
this.screenHeight = dis.getHeight();
searchButton = new MainMenuObjectView(context, 200, MovingMode.RIGHT, R.drawable.search, dis);
supportButton = new MainMenuObjectView(context, 400, MovingMode.LEFT, R.drawable.support, dis);
aboutButton = new MainMenuObjectView(context, 600, MovingMode.RIGHT, R.drawable.about, dis);
searchButton.setClickable(true);
supportButton.setClickable(true);
aboutButton.setClickable(true);
searchButton.setOnClickListener(this);
supportButton.setOnClickListener(this);
aboutButton.setOnClickListener(this);
}
@Override
public void onClick(View view){
Toast.makeText(getContext(), "Search button pressed", Toast.LENGTH_SHORT).show();
if(view == searchButton){
Toast.makeText(getContext(), "Search button pressed", Toast.LENGTH_SHORT).show();
}
else if(view == supportButton){
Toast.makeText(getContext(), "Support button pressed", Toast.LENGTH_SHORT).show();
}
else Toast.makeText(getContext(), "About button pressed", Toast.LENGTH_SHORT).show();
}
@Override
public void onDraw(Canvas canvas)
{
//Drawing the buttons
this.searchButton.onDraw(canvas);
this.aboutButton.onDraw(canvas);
this.supportButton.onDraw(canvas);
}

Merci d'avance, Elad!

InformationsquelleAutor Elad92 | 2011-04-18