zoukankan      html  css  js  c++  java
  • AndroidEditText实现对文本变化…

    1.第一种实现方法:使用setOnKeyListener(),不过这种方式只能监听硬键盘事件
    Java代码
    1. edittext.setOnKeyListener(new View.OnKeyListener() {
    2. @Override
    3. public boolean onKey(View v, int keyCode, KeyEvent event) {
    4. textview.setText(edittext.getText());
    5. return false;
    6. }
    7. });


    2.使用TextWatcher类,这种方式是可以监听软键盘和硬键盘的,我们只需要实现onTextChanged方法即可,另外TextWatcher还提供了beforeTextChanged和afterTextChanged方法,用于更加详细的输入监听处理

    Java代码
    1. edittext.addTextChangedListener(new TextWatcher() {
    2. @Override
    3. public void onTextChanged(CharSequence s, int start, int before, int count) {
    4. textview.setText(edittext.getText());
    5. }
    6. @Override
    7. public void beforeTextChanged(CharSequence s, int start, int count,
    8. int after) {
    9. }
    10. @Override
    11. public void afterTextChanged(Editable s) {
    12. }
    13. });


    3、代码片段:实现当输入到最大值时则不允许再输入了,另外,由于EditText并没有提供给我们EditText的禁止输入功能,以下方法也实现了此功能。
    Java代码
    1. private void setEditable(EditText mEdit, int maxLength, boolean value) {
    2. if (value) {
    3. mEdit.setFilters(new InputFilter[] { new MyEditFilter(maxLength) });
    4. mEdit.setCursorVisible(true);
    5. mEdit.setFocusableInTouchMode(true);
    6. mEdit.requestFocus();
    7. } else {
    8. mEdit.setFilters(new InputFilter[] { new InputFilter() {
    9. @Override
    10. public CharSequence filter(CharSequence source, int start,
    11. int end, Spanned dest, int dstart, int dend) {
    12. return source.length() < 1 ? dest.subSequence(dstart, dend)
    13. : "";
    14. }
    15. } });
    16. mEdit.setCursorVisible(false);
    17. mEdit.setFocusableInTouchMode(false);
    18. mEdit.clearFocus();
    19. }
    20. }
  • 相关阅读:
    IDEA系列(七)--给自己的IDEA一个酷炫的主题吧
    Swagger入参为List
    Mac系统 JDK版本切换
    equals方法被调用时字符串和对象的顺序
    MongoDB简介
    2018-5-18 东方微银Java笔试题
    Java基本数据类型之char
    Java实例——简单的汽车销售4S店
    Java实例——格式化当前日期
    Java实例——为新员工分配部门
  • 原文地址:https://www.cnblogs.com/crane13/p/3150132.html
Copyright © 2011-2022 走看看