从 EditText 中删除字符时,如果它与字符串匹配,我想删除一个完整的文本。也就是说,我有一个值为 abc 的字符串,如果我从编辑文本中删除字符并且它包含 abc,我需要删除整个单词 abc(不是逐个字符)。在此先感谢
问问题
2179 次
2 回答
0
一个很好的方法是创建一个 TextWatcher:
private final TextWatcher mTextEditorWatcher = new TextWatcher() {
public int oldLength = 0;
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
public void onTextChanged(CharSequence s, int start, int before,
int count) {
if ((oldLength > s.length())){
editText.setText("");
oldLength = 0;
}else
oldLength = s.length();
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
};
editText.addTextChangedListener(mTextEditorWatcher);
于 2013-08-12T11:23:09.377 回答
0
为 EditText 的 onKeyPress 注册一个处理程序,当您获得KEYCODE
删除按钮时,处理它并使用如下内容:
String a = "aaabccc";
String b = "abc";
EditText et;
if(a.contains(b) && ((a.indexOf(b) + b.length()) == et.getSelectionStart())
{
et.setText(et.getText().delete(et.getSelectionStart()-b.length(), et.getSelectionStart())).toString());
}
于 2013-08-12T11:22:00.960 回答