2016-05-20 7 views
4

UrhoSharpサーフェスを持つアクティビティを作成しました。バックボタンがUrhoSharpで応答しない

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

戻るボタンが応答しません。私はonBackPressed()をオーバーライドしようとしましたが、戻るボタンを押すとこの関数は呼び出されません。戻るボタンを動作させるには?

答えて

2

DispatchKeyEventの戻るボタンの押下をキャッチしてこれを解決しました。非常に満足のいく解決策ではありませんが、それは動作します:

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

それは動作します!ありがとう。今私は新しい問題がある。アクティビティを再度開いたときに、UrhoSurfaceが読み込まれません。 UrhoSurfaceビューの代わりに黒い画面が表示され、何も起こりません。これを解決するには? – Santosh

+0

私はそれを経験していないので、私はそれがUrhoSharpの問題ではないと思うでしょうし、問題はアプリケーションのロジックのどこかにあります。 – larspars