全部-对不起,我的标题太长了,我找不到任何其他方式来表达它。所以,我有一个EditText
并且当只剩下一个字符时(我可以通过 a 监视它TextWatcher
)我想禁用退格键。这是我到目前为止所拥有的:
editText$.addTextChangedListener(new TextWatcher() {
private String current = "";
String one = "1";
String empty = one; //Right now only set to "1" but want to set to "[any character]"
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
public void afterTextChanged(Editable s) {
if (s.toString().equals(empty)) {
editText$.setOnKeyListener(new OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_DEL){
return true; //Disable backspace key here
}
return false;
}
});
}
}
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
});
除了两个关键问题外,这有效:
1)我只能弄清楚如何检查特定字符(“1”)与我想检查的任何一个字符。我已经尝试过String empty = "1" + "2" + "etc";
,但是当我这样做时代码不再有效,而且,这似乎是一种低效的方式来完成这项任务。
2)当EditText
有类似 134 的内容时,即使“1”不是唯一的字符,退格键也会被禁用。显然,如果“1”是第一个字符,其余的无关紧要。这是我的主要问题。
我知道这是很多问题,但是您可以提供任何帮助来帮助我解决这两个问题,我们将不胜感激。谢谢。