Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Edittext监听动态改变

Edittext监听动态改变

作者头像
xiangzhihong
发布于 2018-01-26 12:14:51
发布于 2018-01-26 12:14:51
1.4K0
举报
文章被收录于专栏:向治洪向治洪

方法一:

         // 输入框限制输入字数

        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());

        }

    };

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2013-12-26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
EditText 集锦 - 开发中常用的用法及遇到的各种坑
EditText ,文本输入框,一个再熟悉不过的的控件,在开发当中,我们需要经常用到。这边文章,主要是记录 EditText 的常用用法,需要的时候可以直接复制张贴,提高效率。同时,本文章会持续更新,建议收藏起来。
程序员徐公
2019/03/04
2.4K0
Android 实现EditText输入金额
Android中EditText是一个InputType类型有很多的控件,可以来达到不同的软键盘效果。如下图:
网罗开发
2021/01/29
3.2K0
Android 实现EditText输入金额
Android edittext InputFilter 输入控制
InputFilter 可能需要对用户的输入进行一些限制,可以为EditText Widget设置一个InputFilter以实现这一功能
程思扬
2022/01/10
7950
项目需求讨论--可能是用InputFilter来做的最好的金额限制
看惯了可能是XXX最好的,可能是XXXX目前最好的,今天我也用下这个标题,哈哈。别喷我,当然我也就吹吹牛。有很多好的方法来实现。
青蛙要fly
2018/08/29
8670
项目需求讨论--可能是用InputFilter来做的最好的金额限制
过滤输入法的表情
所以为了防止用户胡乱输入表情、同时限制用户只能输入应用自带的表情。编写了一个自定义控件来禁止输入的表情。 代码如下: package com.qd.widget;   import android.content.Context;   import android.text.InputFilter;   import android.text.SpannableString;   import android.text.Spanned;   import android.text.TextUtils; 
xiangzhihong
2018/01/29
1.3K0
详解EditText输入监听TextWatcher「建议收藏」
日常开发中,我们可能会遇到需要监听EditText输入,比如判断输入是否为电话号码,获取输入的数据长度来限定字数等。这就需要监听EditText的输入状态。EditText使用TextWatcher实现类似按钮监听事件:
全栈程序员站长
2022/07/31
3.2K0
详解EditText输入监听TextWatcher「建议收藏」
微博的文本编辑和显示(emoji表情,@某人、链接高亮点击)
动图效果<( ̄ˇ ̄)/:https://github.com/CarGuo/RickText/blob/master/device-2016-11-10-220253.mp4_1478787046.gif
GSYTech
2018/08/22
2.2K0
微博的文本编辑和显示(emoji表情,@某人、链接高亮点击)
让你的EditText删除表情比微信更高效--记一次android性能分析优化实战
自己在做SpEditTool:一个支持表情,@mention,#话题#等功能的EditText控件,这个项目的时候出现了一个很奇怪的问题
Android技术干货分享
2019/08/12
1.4K0
真·富文本编辑器的演进之路-Span开胃菜
https://developer.android.com/guide/topics/text/spans
用户1907613
2021/03/16
2.6K0
真·富文本编辑器的演进之路-Span开胃菜
Android端IM应用中的@人功能实现:仿微博、QQ、微信,零入侵、高可扩展
最近有个需求:评论@人(没错,就是IM聊天或者微博APP里的@人功能),就像下图这样:
JackJiang
2018/12/23
2.4K0
Android入门教程 | EditText 用户输入
使用EditText时,有时候我们会需要监听输入的回车,以做出一些操作。 或者需要把回车变成“搜索”,“发送”或“完成”等等。
Android_anzi
2021/11/05
8910
Android开发第六讲EditText 编辑框
EditText 继承自 TextView 所以它的属性我们可以使用. TextView不支持文字的编辑.而EditText支持文字的编辑.
IBinary
2020/09/01
1.1K0
Android开发第六讲EditText 编辑框
自用知识_实用小知识
private Handler handler = new Handler(){
全栈程序员站长
2022/11/17
6760
Android开发笔记(一百零八)智能语音
如今越来越多的app用到了语音播报功能,例如地图导航、天气预报、文字阅读、口语训练等等。语音技术主要分两块,一块是语音转文字,即语音识别;另一块是文字转语音,即语音合成。 对中文来说,和语音播报相关的一个技术是汉字转拼音,想想看,拼音本身就是音节拼读的标记,每个音节对应一段音频,那么一句的拼音便能用一连串的音频流合成而来。汉字转拼音的说明参见《Android开发笔记(八十三)多语言支持》。 语音合成通常也简称为TTS,即TextToSpeech(从文本到语言)。语音合成技术把文字智能地转化为自然语音流,当然为了避免机械合成的呆板和停顿感,语音引擎还得对语音流进行平滑处理,确保输出的语音音律流畅、感觉自然。
aqi00
2019/01/18
5.8K1
Android EditText使用详解-包含很多教程上看不到的功能演示
标题有点大,说是详解,其实就是对EditText的一些常用功能的介绍,包括密码框,电话框,空白提示文字等等的讲解,尽量的介绍详细一点,也就是所谓的详解了。。呵呵
飞雪无情
2018/08/28
4.1K0
Android EditText使用详解-包含很多教程上看不到的功能演示
android短信验证码方案,Android之短信验证码
3.配置AndroidManifest.xml文件,在Application节点中加入以下代码:
全栈程序员站长
2022/09/15
11.3K0
android短信验证码方案,Android之短信验证码
AndroidStudio制作登录和注册功能的实现,界面的布局介绍
首先是具体的布局设计: https://blog.csdn.net/qq_43377749/article/details/84260348 效果图:
圆号本昊
2021/09/24
4.1K0
AndroidStudio制作登录和注册功能的实现,界面的布局介绍
你从未见过的EditText属性详解
Hi,小伙伴们, Layout学会了, Button和 TextView学会了, ImageView也学会了,是不是感觉总是学习这些单一的东西稍微有点枯燥了呢?那么学习了这篇文章之后,开始尽情发挥你们的想象力开始搞事情吧~
下码看花
2019/09/02
3.5K0
你从未见过的EditText属性详解
相关推荐
EditText 集锦 - 开发中常用的用法及遇到的各种坑
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档