0

我有一个 OnDraw 方法,它绘制一组矩形[像一个室内地图]。在触摸事件上,一个新的 Activity Intent 被调用。在新的活动被调用后,我想知道,如何在 buttonClick 上重绘矩形事件(在地图中显示新路径)。

下面我提到了我到目前为止所做的事情。

  • 1.我使用 DrawRect() 在表面视图上绘制了一张地图
  • 2.然后我捕捉到矩形坐标onTouch事件
  • 3.使用网络服务,我计算到一个位置的最短路径
  • 4.捕捉到触摸的矩形坐标后,我跳到一个新的活动中
  • 5.当我点击新活动上的A按钮时,我想重新绘制我的地图(包括路径)

请给我一个关于如何覆盖和重绘 On Draw 方法的想法???

谢谢!

4

1 回答 1

0

如果我理解正确,我认为您只需要在视图上调用 View.invalidate() 即可使其重新绘制。但是,我对您为什么要切换活动感到困惑。听起来你应该只在 AsyncTask 中调用你的 web 服务,然后在它的 onPostExecute() 中调用你的视图上的 invalidate() 以使其使用你现在提供的任何数据重新绘制。

但是,听起来您可能没有真正实现自己的 View 类,而是直接绘制到 surfaceView?我会阅读如何制作自己的 View 子类。这真的没那么难。

于 2012-08-25T16:30:31.887 回答