Я следовал этому примеру (Открыть экранную клавиатуру для Xamarin/Monogame) для подключения SoftInput к моему Android-приложению Xamarin MonoGame. У меня проблема с перехватом событий OnKeyPress. Поскольку на плакате он указан там, мне просто нужна приватная пустота OnKeyPress без тега переопределения, но мне это кажется неправильным, и на практике это не работает. Я могу заставить OSK появляться и исчезать в нужное время, но я не улавливаю события OnKeyPress. То, как он описывает это там, не верно? (Я бы просто прокомментировал вопрос и спросил это, но я не могу оставлять комментарии из-за этой глупой системы репутации, которая заставляет меня задавать кучу вопросов, прежде чем я смогу ответить на вопросы.)
Код для события OnKeyPress, созданный по его примеру:
private void OnKeyPress(object sender, KeyEventArgs e)
{
//does stuff
}
Разве это не должно быть защищенным переопределением? Но я не могу найти подходящий метод в Android.Activity для переопределения. Что-то я тут заблудился, помогите пожалуйста :(
Activity.OnKeyDown
. Если вы пытаетесь захватитьTextView
нажатия клавиш, реализуйтеITextWatcher
и добавьте его к вашемуTextView
черезAddTextChangedListener
. Что касается связанного SO, я не понимаю, какOnKeyPress
когда-либо будет что-либо делать, поскольку он не запускается ни от чего в этом ответе SO, аAndroidGameActivity
является подклассом «Activity», и эта игровая активность также не имеет методаOnKeyPress
... - person SushiHangover   schedule 04.12.2016Activity.OnKeyDown
(или, возможно,OnKeyUp
в зависимости от ваших потребностей): developer.android.com/training/keyboard-input/commands.html - person SushiHangover   schedule 04.12.2016public override bool OnKeyDown(Keycode keyCode, KeyEvent e) { }
- person Taien   schedule 05.12.2016