我的屏幕上有多个EditText,其中一个是焦点。屏幕弹出后,软键盘不会立即触发。我希望屏幕弹出后立即触发软键盘。如果我没有实现 onFocusChangeListener(),它会很好用。但是我需要 onFocusChangeListener()来检测哪个editText是关注的。我尝试过设置setFocusable(true)和setFocusableInTouchMode(true)。另外,我不想修改AndroidMenifest.xml中的 android:windowSoftInputMode 属性。我有以下标准:
这是我的代码段
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);
}
});
有什么建议吗?
答案 0 :(得分:1)
您可以通过编程方式打开软键盘
getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
答案 1 :(得分:1)
您可以尝试使用inputMethodManager.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0)
。