您当前的位置: 首页 > 

xiangzhihong8

暂无认证

  • 3浏览

    0关注

    1324博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Edittext监听动态改变

xiangzhihong8 发布时间:2013-12-26 10:29:17 ,浏览量:3

方法一:          // 输入框限制输入字数         editText.addTextChangedListener(new TextWatcher() {             private CharSequence temp;             private boolean isEdit = true;             private int selectionStart ;             private int selectionEnd ;             @Override             public void beforeTextChanged(CharSequence s, int arg1, int arg2,                     int arg3) {                 temp = s;             }                          @Override             public void onTextChanged(CharSequence s, int arg1, int arg2,                     int arg3) {             }                          @Override             public void afterTextChanged(Editable s) {                  selectionStart = editText.getSelectionStart();                 selectionEnd = editText.getSelectionEnd();                 Log.i("gongbiao1",""+selectionStart);                 if (temp.length() > Constant.TEXT_MAX) {                     Toast.makeText(KaguHomeActivity.this,                             R.string.edit_content_limit, Toast.LENGTH_SHORT)                             .show();                     s.delete(selectionStart-1, selectionEnd);                     int tempSelection = selectionStart;                     editText.setText(s);                     editText.setSelection(tempSelection);                 }             }         });       方法二:          利用EditText可以设置filter的特性,自定义一个LengthFilter,当输入字数超过限制时 ,做出自定义的提示           // 输入框限制输入字数         InputFilter[] filters = new InputFilter[1];         filters[0] = new InputFilter.LengthFilter(Constant.TEXT_MAX) {             @Override             public CharSequence filter(CharSequence source, int start, int end,                     Spanned dest, int dstart, int dend) {                 if (source.length() > 0 && dest.length() == Constant.TEXT_MAX) {                     if ((System.currentTimeMillis() - toastTime) > interval) {                         toastTime = System.currentTimeMillis();                         Toast                                 .makeText(KaguHomeActivity.this,                                         R.string.edit_content_limit,                                         Toast.LENGTH_SHORT).show();                     }                 }                 if (dest.toString().equals(                         getResources().getString(R.string.input_default_txt))) {                     Bundle data = new Bundle();                     data.putCharSequence("source", source);                     Message message = textHandler.obtainMessage();                     message.setData(data);                     message.sendToTarget();                 }                 return super.filter(source, start, end, dest, dstart, dend);             }         };         editText.setFilters(filters); private Handler textHandler = new Handler() {         @Override         public void handleMessage(Message msg) {             Bundle data = msg.getData();             CharSequence source = data.getCharSequence("source");             editText.setTextColor(Color.BLACK);             editText.setText(source);             editText.setSelection(source.length());         }     };
关注
打赏
1482932726
查看更多评论
立即登录/注册

微信扫码登录

0.0395s