2013-08-12 39 views
0

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

+1

欢迎提前!你能解释更多吗? –

+0

@PankajKumar在edittext中有一个单词abc。删除一些字符后,用户现在在c。当他试图删除c时,abc应该不仅被删除c) – user1767260

回答

0

注册处理程序的onKeyPress的EditText,当您获取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()); 
} 
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);