2012-08-25 2 views
0

J'ai une méthode OnDraw qui dessine un ensemble de rectangles [comme une carte intérieure] .Sur l'événement tactile, une nouvelle intention d'activité est appelée.Après la nouvelle activité est appelée, je veux savoir, comment redessiner les rectangles sur l'événement buttonClick (montrant un nouveau chemin dans la carte).Comment remplacer la méthode OnDraw?

Ci-dessous j'ai mentionné ce que j'ai fait jusqu'à présent.

  • 1.J'ai ont établi une carte sur une vue en surface à l'aide drawRect()
  • 2.Puis J'attrape le rectangle coordonnées événement OnTouch
  • 3.Utilisation un service web, je calculer un plus court chemin pour un emplacement
  • 4.After attraper les coordonnées du rectangle touché, je saute dans une nouvelle activité
  • 5.J'ai veulent re dessiner ma carte (y compris le chemin) lorsque je clique sur un bouton sur la nouvelle activité

S'il vous plaît donnez-moi une idée sur la façon de remplacer et de redessiner la méthode On Draw ???

Merci!

Répondre

0

Si je comprends bien, je pense que vous avez juste besoin d'appeler View.invalidate() sur votre vue pour l'amener à re-dessiner. Je suis confus quant à la raison pour laquelle vous changez d'activités, cependant. Il semblerait que vous deviez simplement faire votre appel de service Web dans une asyncTask puis, dans son onPostExecute(), appeler invalidate() sur votre vue pour l'amener à redessiner avec les données que vous lui avez données.

Cependant, il semble que vous n'ayez pas réellement implémenté votre propre classe View mais que vous dessinez directement sur surfaceView? Je lirais sur la façon de faire votre propre sous-classe de View. Ce n'est vraiment pas si difficile.

+0

Merci beaucoup :) – Ruby

Questions connexes