我通过在画布上绘制来创建EditText,因此我在点击时使键盘出现并使EditText接收输入时遇到问题。经过一些搜索,我发现我可以使用InputMethodManager使键盘显示为EditText提供输入。
不幸的是,EditText没有从软键盘上按下的任何内容接收任何字符输入。
我需要使用imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
,因为当我使用imm.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT);
时,按下EditText时软键盘根本没有出现。
代码:
if((int)event.getX() > 50 && event.getX()<400 && event.getY() > 50 && event.getY() < 200){
editText.setFocusable(true);
editText.setFocusableInTouchMode(true);
editText.requestFocus();
InputMethodManager imm = (InputMethodManager) getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
}
如何解决这个问题?欢迎任何工作解决方案。谢谢!
答案 0 :(得分:0)
这应该可以正常工作。
EditText edit = (EditText) view.findViewById(R.id.passwordtextvalue);
edit.setOnKeyListener(this);
InputMethodManager imgr = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
imgr.toggleSoftInput(InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_IMPLICIT_ONLY);
edit.requestFocus();
我的应用程序中有这个,当我有软键盘时,它可以正常编辑文本
答案 1 :(得分:0)
试试这个
EditText yourEditText= (EditText) findViewById(R.id.yourEditText);
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(yourEditText, InputMethodManager.SHOW_IMPLICIT);