强制打开软键盘
我试图强制在活动中打开软键盘,并抓住所有输入的内容,因为我想自己处理输入,我没有EditText。 目前我已经尝试过,但不起作用。 我想软键盘在下面打开mAnswerTextView(注意:它是一个TextView而不是EditText)。
InputMethodManager mgr = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
// only will trigger it if no physical keyboard is open
mgr.showSoftInput(mAnswerTextView, InputMethodManager.SHOW_IMPLICIT);
试试这个强制打开软键盘:
((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE)).toggleSoftInput(InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_IMPLICIT_ONLY);
那么你可以使用这段代码来关闭键盘:
((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE)).hideSoftInputFromWindow(_pay_box_helper.getWindowToken(), 0);
您可能需要拥有某种可编辑的文本区域才能关注。 不过,你可能有一个不可见的透明背景或者没有光标的透明背景。 您可能需要仔细研究视图的可聚焦性设置。
使用TextWatcher通过addTextChangedListener检查EditText的编辑,或者如果您需要更低级别的钩子,请使用setOnKeyListener()方法设置textview的关键侦听器。 请参阅KeyListener文档。
使用此调用强制打开软键盘:
((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE))
.showSoftInput(myEditText, InputMethodManager.SHOW_FORCED);
和这一个关闭它:
((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE))
.hideSoftInputFromWindow(myEditText.getWindowToken(), 0);
请注意,这实在是不推荐 - 强制打开键盘有点杂乱。 你真正需要的用例是什么,你需要在没有正常编辑框的情况下接受用户输入,并且需要在逐个键的基础上进行用户输入而不回显?
强制键盘打开我使用
this.getWindow().setSoftInputMode(LayoutParams.SOFT_INPUT_STATE_VISIBLE);
它为我工作。
链接地址: http://www.djcxy.com/p/92971.html