我正在尝试在空的EditText
视图中检测软键盘的退格键。我已经搜索了Stack Overflow,Google和大约20个类似的问题,但是
没有人提供用于检测空白EditText
中的退格键的解决方案。
所有答案都围绕此博客文章https://code.i-harness.com/en/q/4a914a演变而来
最后明确指出,这不会在空的EditText
视图上检测到退格。
非常感谢您的帮助。
答案 0 :(得分:1)
用于检测EditText的任何事件或文本更改的最可靠的解决方案是使用TextWatcher,但是如果EditText已经为空,则您无法在所有设备上检测到退格键/删除键事件。
请记住,这是不可能的,希望您或其他任何人都不会浪费您的时间。
答案 1 :(得分:0)
您可以使用以下代码检测edittext是否为空:
EditText usernameEditText = (EditText) findViewById(R.id.editUsername);
sUsername = usernameEditText.getText().toString();
if (sUsername.matches("")) {
Toast.makeText(this, "You did not enter a username", Toast.LENGTH_SHORT).show();
return;}
答案 2 :(得分:0)
有几种方法可以检测到EditText
上的退格键。
这种方法并非在所有设备上都有效,但是您可以从this post执行以下操作,从而为OnKeyListener
设置EditText
:
editText.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
// You can identify which key was pressed by checking the keyCode value with KeyEvent.KEYCODE_
if (keyCode == KeyEvent.KEYCODE_DEL) {
// Do something here
}
return false;
}
});
或者您可以尝试使用以下方法来检测是否单击了退格键:
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
switch (keyCode) {
case KeyEvent.KEYCODE_DEL:
// Do something here
return true;
default:
return super.onKeyUp(keyCode, event);
}
}