Xamarin.Android 关于EditText 设置光标焦点 问题


EditText,你会发现当点击第一个EditText时,第二个EditText会有光标闪以下,或者点击第二个或者之后的EditText,第一个EditText会有光标闪一下。通过Log你会发现从第二次点击EditText起,每次点击EditText都会先触发一次失去焦点,再触发一次获取焦点。由此可以推断当存在多个EditText时,一个EditText失去焦点会触发另一个获取焦点

这个不知道有没有用,如果用了我下面的判断还是无效请试试设置这个

设置  android:inputType="textMultiLine" 和 android:imeOptions="actionSend" 才能监听到 setOnEditorActionListener 回车事件

作者:feifei_fly
链接:https://www.jianshu.com/p/27de38bd2c3c
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。    
EditText.EditorAction += EditText_EditorAction;


private void EditText_EditorAction(object sender, TextView.EditorActionEventArgs e)
        {
            if (e.Event == null) { return; }
            Log.Debug("ETxt_User+按下了回车", e.Event+"");
            if (e.Event.Action==  KeyEventActions.Up&& e.Event.KeyCode==Keycode.Enter)
            {
                
                设置光标焦点(_ETxt_Password);
            }
        }




public static void 设置光标焦点(View v)
        {
            v.FindFocus();
            v.FocusableInTouchMode = true;
            v.RequestFocus();
            v.FindFocus();
        }