@@ -230,7 +230,8 @@ static void MapFocus(EntryHandler2 handler, IEntry entry, object? args)
230230 {
231231 if ( args is FocusRequest request )
232232 {
233- handler . PlatformView . Focus ( request ) ;
233+ // Focus the EditText directly, not the TextInputLayout container
234+ handler . PlatformView . EditText ? . Focus ( request ) ;
234235 }
235236 }
236237
@@ -275,7 +276,7 @@ void OnEditorAction(object? sender, EditorActionEventArgs e)
275276 {
276277 var actionId = e . ActionId ;
277278 var evt = e . Event ;
278- ImeAction currentInputImeFlag = PlatformView . EditText ! . ImeOptions ;
279+ ImeAction currentInputImeFlag = PlatformView . EditText ? . ImeOptions ?? ImeAction . None ;
279280
280281 // On API 34 it looks like they fixed the issue where the actionId is ImeAction.ImeNull when using a keyboard
281282 // so I'm just setting the actionId here to the current ImeOptions so the logic can all be simplified
@@ -297,7 +298,7 @@ void OnEditorAction(object? sender, EditorActionEventArgs e)
297298 else if ( evt ? . KeyCode is null && ( actionId == ImeAction . Done || actionId == currentInputImeFlag ) )
298299 {
299300 VirtualView ? . Completed ( ) ;
300- // In case of Search, Go, Send the EditorAction will be invoked for KeyEventActions which will cause Completed to inovke twice
301+ // In case of Search, Go, Send the EditorAction will be invoked for KeyEventActions which will cause Completed to invoke twice
301302 //So for these setting handled to true
302303 if ( actionId == ImeAction . Search ||
303304 actionId == ImeAction . Go ||
0 commit comments