TextWatcher的用法
2017-08-14 17:34
225 查看
TextWatcher:对EditText输入时进行监听,可以进行判断输入是否合法
案例:
public class MainActivity extends AppCompatActivity { private TextView tv; private EditText et; private CharSequence temp; private int mEditStart; private int mSelectionEnd; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tv = (TextView) findViewById(R.id.tv); et = (EditText) findViewById(R.id.et); //对EditText输入时设置监听 et.addTextChangedListener(new TextWatcher() { /** * 文本变化之前调用 * @param s * @param start * @param count * @param after */ @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { Log.e("xyh", "beforeTextChanged:" + "有" + count + "个字符从" + start + " 位置开始 已经被" + after + "个字符所替换"); temp = s; } /** * 文本变化的时候调用 * @param s * @param start * @param before * @param count */ @Override public void onTextChanged(CharSequence s, int start, int before, int count) { Log.e("xyh", "onTextChanged" + "有" + count + "个字符仅仅从" + start + "开始要替换" + before + "个旧的字符"); tv.setText("输入的结果为:" + s); } /** * 文本变化之后调用 * @param s */ @Override public void afterTextChanged(Editable s) { Log.e("xyh", "afterTextChanged" + "最终内容:" + s.toString()); mEditStart = et.getSelectionStart(); mSelectionEnd = et.getSelectionEnd(); if (temp.length() > 10) { Toast.makeText(MainActivity.this, "输入的字数不能超过10", Toast.LENGTH_SHORT).show(); //输入10个后不能再输入 s.delete(mEditStart - 1, mSelectionEnd); int tempSelection = mEditStart; et.setText(s); et.setSelection(tempSelection); } } }); } }
相关文章推荐
- TextWatcher基本用法
- TextWatcher基本用法
- android edittext textwatcher的用法
- 最强理解:Android对EditText输入时设置监听即TextWatcher的用法
- TextWatcher基本用法
- Textwatcher和SQLite,ListView集合的基本用法或许有用
- Android EditText TextWatcher应用实例
- 关于val(),text(),html()的用法
- jquery .html(),.text(),.val()用法
- javascript中innerText和innerHTML属性用法实例分析
- 【Android控件】之EditText的基本用法
- android TextView 带滚动条,和ScrollView 用法(暂时觉得ScrollView滑动速度比较快)
- iOS开发UI篇—IOS CoreText.framework --- 基本用法
- Sublim Text3插件用法
- jQuery.html() .text()和.val() 的用法
- IOS CoreText.framework --- 基本用法
- android ListView使用ViewHolder优化时,EditText设置TextWatcher时,滑动ListView导致内容错乱
- Android UI设计 文本输入框EditText用法(输入密码 隐藏显示输入的字符串)
- EditText 的setKeyListener()方法的用法是输入某些特殊的字符
- Android使用TextWatcher匹配email造成ANR的解决