0

[インドア マップのような] 長方形のセットを描画する OnDraw メソッドがあります。タッチ イベントでは、新しいアクティビティ インテントが呼び出されます。新しいアクティビティが呼び出された後、ボタンの長方形を再描画する方法を知りたいクリックイベント (マップに新しいパスを表示)。

以下に、これまでに行ったことについて言及しました。

  • 1.DrawRect() を使用してサーフェス ビューにマップを描画しました。
  • 2.次に、長方形の座標の onTouch イベントをキャッチします
  • 3.webServiceを使って、場所までの最短経路を計算する
  • 4.タッチされた四角形の座標をキャッチした後、新しいアクティビティにジャンプします
  • 5.新しいアクティビティの A ボタンをクリックしたときにマップ (パスを含む) を再描画したい

On Draw メソッドをオーバーライドして再描画する方法について教えてください。

ありがとうございました!

4

1 に答える 1

0

私が正しく理解していれば、ビューを再描画するには、ビューで View.invalidate() を呼び出すだけでよいと思います。しかし、なぜあなたが活動を切り替えるのかについては混乱しています。AsyncTask で Web サービス呼び出しを行い、次に onPostExecute() で、ビューで invalidate() を呼び出して、現在与えられているデータで再描画する必要があるようです。

ただし、実際には独自の View クラスを実装しておらず、直接 surfaceView に描画しているように思えますか? View の独自のサブクラスを作成する方法を読み上げます。それは本当に難しいことではありません。

于 2012-08-25T16:30:31.887 に答える