Xamarin.Android 中 Handler 的使用

刚开始的时候 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);

你可能感兴趣的:(xamarin,xamarin)