`
zhouxiaoli521
  • 浏览: 562246 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android editText 输入字数限制

阅读更多

方法一:
         // 输入框限制输入字数
        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 on

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

===========简单方法=====

TextView tv = new TextView(this); 
int maxLength = 10; 
InputFilter[] fArray = new InputFilter[1]; 
fArray
[0] = new InputFilter.LengthFilter(maxLength); 
tv
.setFilters(fArray) 
3.如果这时候你还想告诉别人 字数达到最大限度了 想弹出对话框,可是这时候因为有输入法不能弹出 所有要取消输入法然后才能谭 因此需要去掉输入法

InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);   
   imm
.hideSoftInputFromWindow(editTextField.getWindowToken(), 0);  

你或许想用editText的OnKeyListener事件,可是当一个单词没有写完的话 还是不能响应这个事件不符合字数

所有只有先取消掉输入法。

分享到:
评论

相关推荐

    android中EditText输入字数限制

    Android 中 EditText 的输入字数限制 Android 中 EditText 的输入字数限制是一种常见的需求,在开发应用程序时,经常需要限制用户输入的字数,以避免用户输入过长的字符串,例如在发表评论或填写表单时。下面,...

    Android-AndroidEditText多行文本输入字数统计限制数量

    本篇将深入探讨如何实现`Android EditText`的多行文本输入字数统计及限制功能。 首先,我们需要明白`EditText`的基本用法。它是一个可编辑的文本视图,继承自`TextView`,用户可以在其中输入、修改或删除文本。默认...

    EditText限制输入中文或英文字数

    总结起来,限制`EditText`输入字数的方法主要分为监听文本变化和使用`InputFilter`两种。监听文本变化方式更灵活,可以对超出限制后的输入进行处理,如清除或提示;而`InputFilter`则在输入时直接阻止不符合规则的...

    android设置EditText空间字数并提示剩余字数

    以下将详细讲解如何在Android中设置`EditText`的字数限制及显示剩余字数。 首先,我们需要在布局文件中定义`EditText`,并可以设置初始的提示文本,如“请输入内容(最多100字)”: ```xml <EditText android:id...

    android 中如何限制 EditText 最大输入字符数

    Android 中限制 EditText 最大输入字符数的方法 Android 中限制 EditText 最大输入字符数是 Android 开发中常见的问题,本文将详细介绍限制 EditText 最大输入字符数的三种方法。 方法一:在 xml 文件中设置文本...

    EditText限制输入字符数

    本文将详细介绍如何在Android中实现`EditText`限制输入字符数的功能,并提供相应的代码示例。 首先,我们需要了解`EditText`的基本属性。`android:maxLength` 是一个内置的属性,可以用来设置`EditText`的最大字符...

    安卓EditText输入框相关-EditText字数检测与限制的冲突文件2016-11-1517-03-23-811.rar

    2. **避免不必要的操作**:在用户持续输入时,可以只在文本变化的开始或结束时进行字数限制,而不是每次字符改变都进行。 3. **设置最大长度**:`EditText`有一个内置属性`android:maxLength`,可以用来限制用户...

    Android EditText限制输入字数的方法

    本文将详细介绍如何在Android中实现`EditText`输入字数的限制。 首先,我们需要定义一个常量来表示最大允许的输入字数,例如在本例中是140个字符: ```java private static final int WEIBO_CONTENT_LENGTH_...

    EditText限制输入的字符数并弹出Toast提示字数已达上限Demo

    一个简单的小Demo,能够限制EditText的输入字符数并对用户进行提示。博客文章地址:http://blog.csdn.net/Lindroid20/article/details/56845775

    Android的EditText字数检测和限制解决办法

    Android的EditText控件是Android应用程序中最常用的输入控件之一,它允许用户输入文本信息,但是有时候我们需要限制用户输入的字数,以避免用户输入过长的文本信息。下面我们将介绍Android的EditText字数检测和限制...

    edittext限制字数

    总的来说,限制`EditText`输入字数是Android开发中常见的需求,可以通过多种方式实现。开发者可以根据项目需求选择合适的方法,以确保用户输入符合预期的格式。同时,良好的用户反馈也很重要,比如当达到最大输入...

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

    以上代码展示了如何在Android应用中实现`EditText`的基本操作,包括清空内容、查看/隐藏密码、限制输入空格以及设置最大字数。这些功能在实际开发中非常常见,能提升用户体验。在`EditTextDemo`项目中,你可以找到...

    EditText字数检测与限制

    在用户删除文字时,如果当前字数小于最大字数限制,应取消限制,允许用户继续输入。这就是为什么在`else`分支中,我们需要将`InputFilter`设置为空数组。 6. **代码示例**: 在`EditTextDemo`项目中,可以找到...

    自定义Editext控制输入字数限制的文本框Editext

    通过以上步骤,我们就创建了一个具有输入字数限制的自定义 `EditText`。当用户输入文字时,它会自动更新并显示剩余可输入字数。这使得用户能够清楚地知道他们的输入是否超出了限制,从而提高了用户体验。在实际项目...

    Android开发中给EditText控件添加TextWatcher监听实现对输入字数的限制(推荐)

    做这个功能是因为开发项目的时候,由于后台接口的一些参数的值的长度有要求,不能超过多少个字符,所以在编辑框中输入的字符是要有限制的。 下面就来看一下demo的实现过程: 首先,在xml控件中放置一个EditText控件...

    Android编程实现实时监听EditText文本输入的方法

    有时我们需要实时监听EditText中文本的变化,以便根据用户输入的内容做出响应,比如限制输入字数、格式校验等。本篇文章将详细讲解如何实现实时监听EditText文本输入的方法。 首先,我们需要创建一个TextWatcher...

    Android编程实现EditText字数监听并显示的方法

    通过这种方式,我们可以实现一个简单的字数限制功能,当用户在EditText中输入时,实时更新TextView显示剩余字数,并在输入超过限制时自动截断文本。这种技术在各种需要限制用户输入的应用场景中都非常有用,如评论...

Global site tag (gtag.js) - Google Analytics