当焦点在EditText上时,无法使键盘显示

时间:2018-03-13 09:18:53

标签: android xamarin xamarin.android

我正在尝试为视图显示键盘,因为焦点在渲染后设置为它。我尝试了多种尝试使其工作的方法,但每当Dialog渲染并且焦点在View中时,它都不会显示键盘,直到我点击它。

这是我尝试过的一种方式,它不起作用。

yieldEdit.RequestFocus();

imm = (InputMethodManager)(this.Activity).GetSystemService(AMSessionActivity.InputMethodService);

然后我也尝试将视频添加到视图中。

yieldEdit.FocusChange += (sender, e) =>
{
    if (e.HasFocus)
    {
        imm.ToggleSoftInput(ShowFlags.Forced, 0);
    }
};

这似乎也不起作用。我不确定为什么它不起作用,因为它是一个活动。

由于

2 个答案:

答案 0 :(得分:1)

在EditText xml中使用以下代码;

android:focusable="true"
android:focusableInTouchMode="true"

并将以下内容用于您的活动

AMSessionActivity amsActivity = (AMSessionActivity) Activity;

yieldEdit.RequestFocus();

InputMethodManager imm = (InputMethodManager)amsActivity.GetSystemService(Context.InputMethodService);
        imm.ShowSoftInput(yourTextBox, ShowFlags.Implicit);

答案 1 :(得分:-2)

尝试使用: -

 editText.setOnFocusChangeListener(new OnFocusChangeListener() {
        @Override
        public void onFocusChange(View v, boolean hasFocus) {
            editText.post(new Runnable() {
                @Override
                public void run() {
                    InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
                    imm.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT);
                }
            });
        }
    });
    editText.requestFocus();