大佬教程收集整理的这篇文章主要介绍了android – 如何使用TextWatcher删除EditText中的文本?每次它检测到一个字符串并格式化它,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
private class CustomTextWatcher implements TextWatcher { private EditText mEditText; public CustomTextWatcher(EditText E) { mEditText = e; } public void beforeTextChanged(CharSequence s,int start,int count,int after) { } public void ontextChanged(CharSequence s,int before,int count) { } public void afterTextChanged(Editable s) { int count = s.length(); String str = s.toString(); if (count == 1) { str = str + "'"; } else if (count == 3) { str = str + "\""; } else if ((count > 4) && (str.charAt(str.length() - 1) != '\"')) { str = str.subString(0,str.length() - 2) + str.charAt(str.length() - 1) + "\""; } else { return; } mEditText.setText(str); mEditText.setSELEction(mEditText.getText().length()); }
}
如果没有对现有代码进行任何实际测试或进一步改进,这似乎可以解决您描述的问题:
package com.example.testwatchertest; import android.app.Activity; import android.os.bundle; import android.text.Editable; import android.text.TextWatcher; import android.view.KeyEvent; import android.view.View; import android.view.View.onKeyListener; import android.widget.EditText; public class MainActivity extends Activity implements TextWatcher { EditText editText; Boolean keyDel = false; @Override protected void onCreate(Bundle savedInstanceStatE) { super.onCreate(savedInstanceStatE); setContentView(R.layout.activity_main); editText = (EditText) findViewById(R.id.editText); editText.addTextChangedListener(this); editText.setOnKeyListener(new OnKeyListener() { @Override public Boolean onKey(View v,int keyCode,KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_DEL){ keyDel = true; }else{ keyDel = false; } return false; } }); } @Override public void afterTextChanged(Editable s) { // TODO Auto-generated method stub } @Override public void beforeTextChanged(CharSequence s,int after) { // TODO Auto-generated method stub } @Override public void ontextChanged(CharSequence s,int count) { if (!keyDel) { String str = s.toString(); if (count == 1) { str = str + "'"; } else if (count == 3) { str = str + "\""; } else if ((count > 4) && (str.charAt(str.length() - 1) != '\"')) { str = str.subString(0,str.length() - 2) + str.charAt(str.length() - 1) + "\""; } else { return; } editText.setText(str); editText.setSELEction(editText.getText().length()); } } }
以上是大佬教程为你收集整理的android – 如何使用TextWatcher删除EditText中的文本?每次它检测到一个字符串并格式化它全部内容,希望文章能够帮你解决android – 如何使用TextWatcher删除EditText中的文本?每次它检测到一个字符串并格式化它所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。