`
dengyin2000
  • 浏览: 1229180 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

android 限定 EditText字符输入个数

阅读更多
        messageContentEditText.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
            }

            @Override
            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
            }

            @Override
            public void afterTextChanged(Editable s) {
                int nSelStart = 0;
                int nSelEnd = 0;
                boolean nOverMaxLength = false;

                nSelStart = messageContentEditText.getSelectionStart();
                nSelEnd = messageContentEditText.getSelectionEnd();

                nOverMaxLength = (s.length() > MAX_MESSAGE_CHAR_LENGTH) ? true : false;
                if (nOverMaxLength) {
                    Toast.makeText(MessageSendActivity.this,
                            "不能超过" + MAX_MESSAGE_CHAR_LENGTH + "字符!",
                            Toast.LENGTH_SHORT);

                    s.delete(nSelStart - 1, nSelEnd);
                    messageContentEditText.setTextKeepState(s);//请读者注意这一行,保持光标原先的位置,而 mEditText.setText(s)会让光标跑到最前面,
                    //就算是再加mEditText.setSelection(nSelStart) 也不起作用
                }
                charLeftTextView.setText("剩余:" + (MAX_MESSAGE_CHAR_LENGTH - messageContentEditText.getText().length()));
            }
        });
分享到:
评论

相关推荐

    Android EditText限制输入字符类型的方法总结

    最近的项目上需要限制EditText输入字符的类型,就把可以实现这个功能的方法整理了一下: 1、第一种方式是通过EditText的inputType来实现,可以通过xml或者Java文件来设置。假如我要设置为显示密码的形式,可以像...

    android、Java下判断两个String是否相等 、EditText输入是否为空,限定输入数字的实现

    下面我们将详细介绍如何正确地比较两个 String 是否相等、判断 EditText 输入是否为空,以及如何限定输入数字的实现。 字符串比较 在 Java 中,String 是引用类型的,而不是基本数据类型。因此,比较两个 String ...

    edittext输入超过长度自动缩小文字大小并动态记录可输入文字

    5. **显示剩余字符数**:在EditText旁边添加一个TextView,用于显示剩余可输入的字符数。每次文本变化时更新这个值。 6. **动态记录**:维护一个变量来跟踪剩余的可输入字符数,每次输入或删除字符时更新这个变量。...

    Android EditText实现输入金额类型详解

    在Android开发中,`EditText` 是一个至关重要的组件,它允许用户输入文本。在涉及到金融应用或者需要处理货币数据时,我们通常希望`EditText` 只能接受特定格式的金额输入,例如限定小数点后只有两位数字。下面将...

    EditText的清空 查看密码 限制输入空格 最大字数 Android

    在Android开发中,`EditText` 是一个非常重要的组件,它用于接收用户输入的文字。本教程将详细介绍如何实现`EditText`的清空、查看密码、限制输入空格以及设置最大字数的功能。 ### 1. 清空EditText内容 在用户...

    仿支付宝,微信支付Edittext控件

    3. **限制输入长度**:为了控制输入的位数,如支付宝的6位支付密码,我们可以使用`android:maxLength`属性来限定最多输入的字符数。 4. **输入验证**:对于支付密码或验证码,我们需要进行实时验证,确保输入的格式...

    Android开发开发技巧之 EditText 属性大全.pdf

    - **作用**:限制输入的最大字符数。 - **示例**:`android:maxLength="10"` 2. **android:singleLine** - **作用**:设置是否单行显示。 - **示例**:`android:singleLine="true"` 3. **android:password** ...

    Android中多种格式的EditText的说明表.pdf

    在实际开发中,结合`inputType`与其他属性,如`android:digits`(限定可输入字符集)、`android:maxLength`(限制最大长度)等,可以进一步定制EditText的行为,满足特定场景的需求。同时,对于复杂的输入验证,...

    Android EditText常用属性功能汇总

    在Android开发中,EditText是一个非常重要的组件,它用于接收用户输入的数据。本篇文章将详细解析EditText的常用属性及其功能,帮助开发者更好地理解和运用这个控件。 1. `android:hint`:这个属性用来设置EditText...

    EditText属性

    - **`android:digits`**:限定输入字符集,例如`"1234567890.+-*/%()"`。 - **`android:editable`**:设置是否可编辑,`true`表示允许编辑。 - **`android:autoLink`**:自动识别并链接文本中的URL、email等,可选...

    限定字数框

    限定字数框通常指的是一个输入控件,比如文本框(TextBox),它允许用户输入一定数量的文字,但会限制超过预设字符数的输入。这种设计有助于保持数据的一致性、提高用户体验,并防止由于过长的输入导致的系统问题。 ...

    Android猜牌小游戏(改进版)

    【Android猜牌小游戏(改进版)】是一款基于Android平台开发的趣味性应用程序,它通过算法随机生成一个数字,用户需要在限定次数内猜出这个数字,增强了用户与手机的交互体验。这款游戏通常会包含以下几个核心知识点...

    Android实训报告

    - 使用限定输入类型的`EditText`来获取数字型数据。 - **代码示例**:`main.xml`的XML布局代码。 - 设置了`android:orientation`属性用于定义组件的排列方向。 - `RadioGroup`与`RadioButton`用于性别选择。 - ...

    Android2.2—TextView API中文文档

    - **描述**:限定输入的字符集,例如,仅允许数字、特定运算符或特殊字符的输入。 ##### `android:drawable*` - **描述**:支持在文本周围添加图标或图片,包括`bottom`, `left`, `right`, `top`四个方向。此外,`...

    android常用控件大全讲解

    - `<activity>`标签定义了一个Activity,`android:name`属性指定Activity类的全限定名。`<intent-filter>`用于描述Activity可以响应的Intent,包括启动Action和类别Category。 3. **String.xml**: - 存放在`...

    开始使用 Xamarin.Android 开发 Android 应用

    - **EditText**:输入文本。 - **库**:使用第三方库增强功能。 - **导航栏**:实现底部导航栏。 - **选取器**:选择日期和时间。 - **日期选取器**:选取具体日期。 - **时间选取器**:选取具体时间。 - **...

Global site tag (gtag.js) - Google Analytics