0

从 EditText 中删除字符时,如果它与字符串匹配,我想删除一个完整的文本。也就是说,我有一个值为 abc 的字符串,如果我从编辑文本中删除字符并且它包含 abc,我需要删除整个单词 abc(不是逐个字符)。在此先感谢

4

2 回答 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 回答