删除视图键盘[重复]

Posted

技术标签:

【中文标题】删除视图键盘[重复]【英文标题】:remove view keypad [duplicate] 【发布时间】:2012-12-13 05:00:19 【问题描述】:

可能重复:Close/hide the android Soft Keyboard

我是一个初学者,并且编写了一个简单的程序来查找二次方程的根。在 EditText 字段中输入值效果很好,因为会弹出虚拟键盘,以便您输入数字。但是,键盘覆盖了显示结果的 TextView。如果用户知道,他们可以按“返回”键,然后移除小键盘,显示结果字段。但我希望当用户在不按“返回”键的情况下触摸应用程序中的“执行”按钮时键盘消失。

我一直在研究这个,有些人建议使用 finish();但这不仅删除了键盘,还退出了整个程序。

那么最简单的方法是只移除小键盘,留下底层的 TextView 显示?我想将其包含在执行数学运算的 onClick 视图中。

欢迎提出任何建议。

【问题讨论】:

【参考方案1】:

只需在 onClick 方法中添加这段代码:

InputMethodManager imm = (InputMethodManager)mContext.getSystemService(Context.INPUT_METHOD_SERVICE);
                imm.hideSoftInputFromWindow(yourSubmiBtn.getWindowToken(), 0);

【讨论】:

非常感谢——看起来正是我需要的。但是,作为初学者,我在实施方面遇到了一些麻烦。 Eclipse 告诉我我需要创建一个 Context 局部变量,我照做了。然后它要我初始化它,所以我将它初始化为“null”。但是程序崩溃了。 (当然是空指针异常。)将 mContext 初始化为空是否正确? 我添加了声明“Context mContext = null;”作为局部变量。 Eclipse 说,“空指针访问:变量 mContext 在这个位置只能为空。”我不确定这意味着什么。 上下文是你的 Activity 实例。如果 onClick 方法在您的活动类中,请将 mContext 替换为 MyActivity.this(其中 MyActivity 是您当前的活动名称) Gezdy,这非常有效。谢谢!

以上是关于删除视图键盘[重复]的主要内容,如果未能解决你的问题,请参考以下文章

在窗口中删除和添加视图时键盘/工具栏中断

关闭时,横向iPad上带有键盘的模态视图控制器会更改位置[重复]

单击uiview时如何从textview中删除键盘?

选择表格单元格时删除键盘

CAD制图系列一之绘图标注修改视图

从键盘输入一个字符串,按照字符顺序从小到大进行选择排序,并要求删除重复的字符