刚开始的时候 Handler 用不成,因为 Java 和 C# 之间区别还是很多的,使用起来要注意

匿名内部类

Java 中可以使用 匿名内部类,但 C# 不可以,所以使用的时候要传递参数,方便调用

mHandler = new MyHandler(this);//传递参数
public class MyHandler : Handler
{
private DrawCanvas drawCanvas;

public MyHandler(DrawCanvas drawCanvas)
{
this.drawCanvas = drawCanvas;
}

public override void HandleMessage(Message msg)
{
base.HandleMessage(msg);
drawCanvas.Invalidate();
}
}

Handler 使用

这里我只说下最简单的实现方式,使用 Action

Action action = ()
{
//Do something
};

handler = new MyHandler(this);
handler.Post(action);