对不起,这里以更简洁的方式回答!
与此类似的东西:
1)显示键盘:
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(myCustomView, InputMethodManager.SHOW_IMPLICIT);
2)在myCustomView(扩展视图)中,添加:
InputConnection onCreateInputConnection (EditorInfo outAttrs) {
InputConnection ic = new EditableInputConnection(this);
outAttrs.inputType = TYPE_TEXT_FLAG_NO_SUGGESTIONS;
outAttrs.initialCapsMode = ic.getCursorCapsMode(outAttrs.inputType); //guess on this
return ic;
}
这是应该做什么的总体要点。您可能想要 OR outAttrs.inputType 而不是设置为相等,以便保留默认状态,或者先调用父级 onCreateInputConnection 然后设置您的 outAttrs.inputType (不确定这是否有效)。这应该有希望让您非常接近您的解决方案。