internal static void PostShowKeyboard(this AView view) { void ShowKeyboard() { // Since we're posting this on the queue, it's possible something else will have disposed of the view // by the time the looper is running this, so we have to verify that the view is still usable if (view.IsDisposed()) { return; } view.ShowKeyboard(); }; Device.BeginInvokeOnMainThread(ShowKeyboard); }