2012-07-16 8 views
0

Mon projet a en fait tout à fait quelques lignes de code en ce moment, donc je vais vous faire économiser en ne retenant que ce qui importe ici. J'espère que c'est assez d'informations pour clarifier le problème.Comment dessiner un rectangle sur une toile sur un bouton presse (Android?)

J'ai deux grandes classes: une classe « GraphView », puis le code de l'activité principale. Dans GraphView, j'ai créé une fonction qui, essentiellement, dessine un rectangle sur un canevas. Ça s'appelle drawPixel. Dans la méthode onDraw de GraphView, j'appelle drawPixel un tas de fois, et il dessine des rectangles à l'écran. Maintenant, dans le code principal, j'ai créé par programmation une mise en page et un bouton. Ce que je veux est que, au lieu d'appeler drawPixel dans la méthode onDraw de GraphView, je veux dessiner ces rectangles lorsque je clique sur un bouton. J'ai essayé ceci en faisant:

someButton.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     Canvas canvas = new Canvas(); 
     // TODO Auto-generated method stub 
      for (int i=1; i<50; i++) { 
       someGraphView.drawPixel(canvas, i, i); 
      } 
     } 
}); 

Cela n'a pas fonctionné. Les rectangles tirent correctement quand je l'appelle alors par l'intermédiaire onDraw(), mais ils ne tirent pas du tout quand je les appelle à l'intérieur d'une méthode de setOnClickListener. Est-ce que quelqu'un sait ce que je fais mal?

Répondre

1

Une fois qui est écrit invalidate d'appel() sur votre vue.

Questions connexes