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 处于活动状态,并在您的侦听器中做任何您想做的事情。
希望这对外面的人有帮助
我有两个 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 处于活动状态,并在您的侦听器中做任何您想做的事情。
希望这对外面的人有帮助