|
|
1
45
把这个放在你的按钮监听器中:
编辑
如果没有,上面的解决方案将破坏您的应用程序
将此方法添加到类中:
然后,在按钮监听器中,调用如下方法:
|
|
|
2
16
一种解决方法是创建一个假视图,以便在您
请注意,此视图是不可见的,因此在布局中不需要任何空间。 在控件类中,可以添加如下方法来触发此焦点转移:
然后可以最小化键盘一次
|
|
|
3
11
我已经成功地在onClick按钮代码中使用了以下内容:
比其他方法稍微复杂一些。。。 |
|
|
4
8
我能找到的最优雅的解决方案是: 您可以将此方法保存在实用程序类中:
通过简单地调用hideSoftKeyboad()方法,它将隐藏键盘,但正如您所看到的,焦点仍然存在。 为了消除焦点,我们将使用一个简单的技巧。在输入控件的正上方,添加一个伪视图,如下所示:
然后,在调用焦点隐藏方法的地方写下这行代码:
由于应用程序需要将焦点传递给下一个控件,因此它将传递给我们的不可见视图。 |
|
|
5
1
我是怎么解决的。
我希望这能帮助你:) |
|
|
6
1
最重要的答案肯定有效,但在我的用例中会添加很多不必要的代码,因为我的用例有很多按钮,每个按钮都需要一个setOnClickListener代码块来从EditText中删除焦点。 相反,我的方法是编写BindingAdapter来执行焦点更改和预期的单击操作。 绑定适配器
在xml中(现在可以使用数据绑定,而不是以编程方式设置每个点击监听器):
在活动/片段中:
最后是扩展函数:
希望这能帮助到一些人! |
|
|
7
1
|
|
|
8
0
编辑:
|
|
9
0
|
|
|
10
0
很抱歉回答晚了,但我希望这是正确的答案,因为我用
在点击按钮时写下以下片段。 |
|
|
11
-1
为什么不禁用Button代码中的EditText?这应该可以去掉键盘和焦点。 edt_SearchDest.setEnabled(false); |
|
|
12
-1
如果你试图像在笔记应用程序中那样创建按钮,只需执行以下操作:
这将产生一种类似复选标记的按钮(隐藏键盘并删除光标)。 |