作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
showSoftInput()
不会为我显示键盘,但 toggleSoftInput()
会。我看到其他一些帖子说在使用模拟器时禁用硬键盘,但我没有使用模拟器。我正在没有硬键盘的实际设备上加载我的 APK。两种方法都不应该有效吗?为什么 showSoftInput()
不起作用?我想明确地将键盘与特定的文本字段相关联。
不起作用:
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
editText.setText("textchange"); //i see the text field update
imm.showSoftInput(editText, InputMethodManager.SHOW_FORCED);
作品:
InputMethodManager imm = (InputMethodManager) getDelegate().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,0);
最佳答案
似乎键盘最初显示但被其他东西隐藏了,因为以下工作(但实际上是一个肮脏的解决方法):
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
editText.postDelayed(new Runnable()
{
@Override
public void run()
{
editText.requestFocus();
imm.showSoftInput(editText, 0);
}
}, 100);
当查看 logcat 时,我怀疑此消息背后的原因隐藏了最初显示的键盘:
在开始输入时隐藏剪贴板对话框:由其他人完成...!
关于android softkeyboard showSoftInput vs toggleSoftInput,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13694995/
根据文档,我知道该函数用于切换软输入。但是我对作为参数传递的标志如何工作感到困惑。任何例子都是可观的(我也想要解释,以便我得到确切的功能)。谢谢! 最佳答案 显示软键盘 - InputMethodMa
showSoftInput() 不会为我显示键盘,但 toggleSoftInput() 会。我看到其他一些帖子说在使用模拟器时禁用硬键盘,但我没有使用模拟器。我正在没有硬键盘的实际设备上加载我的 A
我是一名优秀的程序员,十分优秀!