2016-05-20 6 views
4

Ich habe eine Aktivität erstellt, die über eine UrhoSharp-Oberfläche verfügt;Zurück Schaltfläche, die in UrhoSharp nicht reagiert

SDLSurface surface = UrhoSurface.CreateSurface(this, typeof(UrhoLayer), appOptions); 

Jetzt zurück Schaltfläche reagiert nicht. Ich habe versucht, onBackPressed() zu überschreiben, aber diese Funktion wird nicht aufgerufen, wenn ich die Zurück-Taste drücke. Wie funktioniert der Zurück-Button?

Antwort

2

Ich löste dies durch Abfangen der Zurück-Taste in DispatchKeyEvent drücken. Keine sehr zufriedenstellende Lösung, aber es funktioniert:

public override bool DispatchKeyEvent(KeyEvent e) 
    { 
     if (e.Action == KeyEventActions.Up && e.KeyCode == Keycode.Back) 
     { 
      OnBackPressed(); 
      return true; 
     } 
     if (!UrhoSurface.DispatchKeyEvent(e)) 
      return false; 
     return base.DispatchKeyEvent(e); 
    } 
+0

Es funktioniert !! Vielen Dank. Jetzt habe ich ein neues Problem. Nach dem Zurückdrücken, wenn ich die Aktivität wieder öffne, wird UrhoSurface nicht geladen. Ein schwarzer Bildschirm erscheint anstelle der UrhoSurface-Ansicht und nichts passiert. Wie löst man das? – Santosh

+0

Ich habe das nicht erlebt, also denke ich, dass das kein Problem mit UrhoSharp ist und dass das Problem irgendwo anders in der App-Logik liegt. – larspars

Verwandte Themen