Android软键盘无法触发

时间:2015-04-08 21:10:15

标签: android android-edittext

我的屏幕上有多个EditText,其中一个是焦点。屏幕弹出后,软键盘不会立即触发。我希望屏幕弹出后立即触发软键盘。如果我没有实现 onFocusChangeListener(),它会很好用。但是我需要 onFocusChangeListener()来检测哪个editText是关注的。我尝试过设置setFocusable(true)和setFocusableInTouchMode(true)。另外,我不想修改AndroidMenifest.xml中的 android:windowSoftInputMode 属性。我有以下标准:

    实现
  1. onFocusChangeListener(以检测哪个edittext聚焦)
  2. AndroidMenifest.xml中没有修改
  3. 这是我的代码段

    final InputMethodManager inputMethodManager =  (InputMethodManager) getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
    
        mInput.setOnFocusChangeListener(new OnFocusChangeListener() {
            @Override
            public void onFocusChange(View view, boolean hasFocus) {
                mIsFocused = hasFocus;
                if(hasFocus)
                    inputMethodManager.showSoftInput(mInput, InputMethodManager.SHOW_IMPLICIT);
    
            }
        });
    

    有什么建议吗?

2 个答案:

答案 0 :(得分:1)

您可以通过编程方式打开软键盘

getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);

答案 1 :(得分:1)

您可以尝试使用inputMethodManager.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0)

来源:Stackoverflow post