Xamarin.Android EditText事件未在设备上触发

相逢意气为君饮,系马高楼垂柳边。这篇文章主要讲述Xamarin.Android EditText事件未在设备上触发相关的知识,希望能为你提供帮助。
我有一个Xamarin.android应用程序,并遇到一个问题,EditText字段上的事件没有在我的设备上触发。他们在模拟器上工作,但不是我的Nexus 5X。有什么想法吗?
【Xamarin.Android EditText事件未在设备上触发】布局

< EditText android:id="@+id/usernameTextField" android:layout_width="0dp" android:layout_height="wrap_content" style="@style/LoginTheme.EditText" android:background="@android:color/transparent" android:hint="user name" android:lines="1" android:maxLines="1" app:layout_constraintTop_toBottomOf="@id/topBorder" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintWidth_max="350dp" />


UsernameTextField = FindViewById< EditText> (Resource.Id.usernameTextField); PasswordTextField = FindViewById< EditText> (Resource.Id.passwordTextField); UsernameTextField.KeyPress += (sender, e) => {if (e.KeyCode == Keycode.Enter & & e.Event.Action == KeyEventActions.Down) { this.PasswordTextField.RequestFocus(); } }; UsernameTextField.KeyPress += (sender, e) => {if (e.KeyCode == Keycode.Enter & & e.Event.Action == KeyEventActions.Down) { this.PasswordTextField.RequestFocus(); } }; PasswordTextField.KeyPress += (sender, e) => {if (e.KeyCode == Keycode.Enter & & e.Event.Action == KeyEventActions.Down) { this.DoLogin (); } };

我也尝试过使用这样的IME动作。
UsernameTextField.EditorAction += HandleEditorAction; PasswordTextField.EditorAction += HandleEditorAction; private void HandleEditorAction(object sender, TextView.EditorActionEventArgs e) { e.Handled = false; if (e.ActionId == ImeAction.Send) { } }

似乎没什么用。当我按下虚拟键盘上的enter按钮时,它只在EditText字段中创建一个新行。有任何想法吗?
答案发布后五分钟我就像往常一样找到解决方案。无论出于何种原因,向EditText添加和inputType似乎可以解决问题并且KeyPress事件现在正在工作。也许这是Xamarin中的一个错误?

    推荐阅读