Ich habe ein Gerät mit einem integrierten Bixolon-Drucker in ihm. Ich möchte eine App zum Drucken auf dem Drucker erstellen. Meine OnCreate Methode sieht wie folgt:Handler feuert zu früh
protected override void OnCreate(Bundle bundle){
base.OnCreate(bundle);
SetContentView(Resource.Layout.Main);
printer = new BixolonPrinter(this, new MyHandler(), Looper.MainLooper);
printer.FindUsbPrinters();
//button connect
Button button = FindViewById<Button>(Resource.Id.buttonConnect);
button.Click += delegate {
printer.ConnectUsb();//in the brackets I would need the value of the Handler back once it is available
}; }
Mein Handler ist wie folgt:
private class MyHandler : Handler
{
public override void HandleMessage(Message msg)
{
switch (msg.What)
{
case BixolonPrinter.MessageUsbDeviceSet:
Console.WriteLine("U S B device::: " + msg.Obj);
//can not return the msg.Obj back to the button event
break;
}
}
}
Das Problem ist das, wenn die Instanz des BixolonPrinter erstellt er sofort den Handler ausgelöst. Es gibt keine Möglichkeit, das Ergebnis des Handlers zum Button-Ereignis zurückzubringen. Um das Problem ein wenig komplizierter zu machen, ist der BixolonPrinter eine Java-JAR-Datei. Wie kann ich das Ergebnis zurück auf die Ereignisschaltfläche bekommen?