这是我的代码,但问题是当我想要清除一些我不能
的字符时TWL=new TextWatcher(){
public void afterTextChanged(Editable s) {
}
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
public void onTextChanged(CharSequence s, int start, int before,
int count) {
name.removeTextChangedListener(this);//after this line you do the editing code
name.setText(s+"-");
name.setSelection(name.getText().length());
name.addTextChangedListener(TWL); // you register again for listener callbacks
}};
name = (EditText)findViewById(R.id.editText1);
name.addTextChangedListener(TWL);
答案 0 :(得分:0)
我遇到了一个非常相似的问题。我有一个带有OnKeyListener的EditText,但它不允许我删除edittext中的任何空格(我没有听任何“删除按钮”事件)。 当我试图在我的监听器中返回“false”时,我发现了什么是错的(事件未完成)。它不像魅力。你确定你没有任何关键的听众吗?在这种情况下,当你“抓住”这个事件时,你会返回false吗?
希望有所帮助
((EditText)findViewById(R.id.main_nome)).setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View view, int i, KeyEvent keyEvent) {
if (keyEvent.getKeyCode() == KeyEvent.KEYCODE_ENTER) {
//hide the keyboard
InputMethodManager imm= (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(findViewById(R.id.main_nome).getWindowToken(), 0);
iniziaClicked(view);
findViewById(R.id.loseFocus).requestFocus();
}
return false;
}
});