Oi gente,
Estou testando meu app no meu celular, usei o método onKey para bloquear alguns caracteres especiais nas caixas de texto de entrada de dados no banco de dados, mas só o bloqueio da tecla “enter” funcionou, abaixo está o código que usei:
public boolean onKey(View v, int keyCode, KeyEvent event) {
if ((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_ENTER)) {
/*Cancelar a ação do usuário de apertar a tecla enter do celular, enquanto ele estiver
*preenchendo o EditText.*/
return true;
}else if((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_APOSTROPHE)) {
/*Cancelar a ação do usuário de apertar a tecla ' do celular, enquanto ele estiver
*preenchendo o EditText.*/
return true;
}else if((event.getAction() == KeyEvent.ACTION_DOWN) && ((keyCode == KeyEvent.KEYCODE_BACKSLASH) || (keyCode == KeyEvent.KEYCODE_SLASH))) {
/*Cancelar a ação do usuário de apertar as tecla "\" ou "/" do celular, enquanto ele estiver
*preenchendo o EditText.*/
return true;
}else if((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_EQUALS)) {
/*Cancelar a ação do usuário de apertar a tecla "=" do celular, enquanto ele estiver
*preenchendo o EditText.*/
return true;
}else if((event.getAction() == KeyEvent.ACTION_DOWN) && ((keyCode == KeyEvent.KEYCODE_LEFT_BRACKET) || (keyCode == KeyEvent.KEYCODE_RIGHT_BRACKET))) {
/*Cancelar a ação do usuário de apertar as teclas "[" ou "]"do celular, enquanto ele estiver
*preenchendo o EditText.*/
return true;
}else if((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_SEMICOLON)) {
/*Cancelar a ação do usuário de apertar a tecla ";" do celular, enquanto ele estiver
*preenchendo o EditText.*/
return true;
}else if((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_TAB)) {
/*Cancelar a ação do usuário de apertar a tecla "Tab" do celular, enquanto ele estiver
*preenchendo o EditText.*/
return true;
}else if((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_UNKNOWN)) {
/*Cancelar a ação do usuário de apertar uma tecla desconhecida do celular, enquanto ele estiver
*preenchendo o EditText.*/
return true;
}
return false;
}