Android 如何防止软键盘并将按钮定义为 textEdits 的输入

Android how to prevent soft keyboard and define buttons as an input to textEdits

我有两个 textEdits 和一堆按钮作为这两个 textEdits 的输入(类似于计算器)。当用户按下任何 textEdits 并允许我的按钮在按下时输入值时,如何防止出现软键盘。

总结一下:

我想防止系统软键盘在文本编辑处于活动状态时出现。

我希望我的按钮成为我的两个 textEdits 的输入源。

最后,我如何在我的按钮侦听器中知道哪个 TextEdit 处于活动状态,以便我可以附加按下的数字。

下图为示例:

1) 您可以尝试使用 editexts 默认方法,例如:

android:editable="false"
android:focusable="false"
android:clickable="false"

2) 在您的其他按钮上单击您可以将文本设置为编辑文本,例如:

editText.setText(btnValue);

我找到了解决方案:

首先您需要禁用文本编辑的输入法,如下所示:

yourTextEdit.setInputType(InputType.TYPE_NULL);

以上内容将阻止软键盘成为文本编辑的输入

它们在您的按钮侦听器中 .setOnClickListener 您可以通过检查 yourTextEdit.isFocused() 来确定哪个 textEdit 处于活动状态,并在您的侦听器中做任何您想做的事情。

希望这对外面的人有帮助