方法一:

在 xml 文件中设置文本编辑框属性作字符数限制

如:android:maxLength="10" 即限制最大输入字符个数为10

方法二:

在代码中使用InputFilter 进行过滤

//editText.setFilters(new InputFilter[]{new

InputFilter.LengthFilter(20)}); 即限定最大输入字符数为20

public class TextEditActivity extends Activity {

@Override

public void

onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

EditText editText = (EditText)findViewById(R.id.entry);

editText.setFilters(new InputFilter[]{new

InputFilter.LengthFilter(20)});

}

}

方法三:

利用 TextWatcher 进行监听

package cie.textEdit;

import android.text.Editable;

import android.text.Selection;

import android.text.TextWatcher;

import android.widget.EditText;

public class MaxLengthWatcher implements TextWatcher {

private int maxLen = 0;

private EditText editText = null;

public MaxLengthWatcher(int maxLen, EditText

editText) {

this.maxLen = maxLen;

this.editText = editText;

}

public void afterTextChanged(Editable arg0)

{

// TODO Auto-generated method

stub

}

public void beforeTextChanged(CharSequence

arg0, int arg1, int arg2,

int arg3)

{

// TODO Auto-generated method

stub

}

public void onTextChanged(CharSequence arg0,

int arg1, int arg2, int arg3) {

// TODO Auto-generated method

stub

Editable editable =

editText.getText();

int len =

editable.length();

if(len >

maxLen)

{

int

selEndIndex = Selection.getSelectionEnd(editable);

String str =

editable.toString();

//截取新字符串

String newStr

= str.substring(0,maxLen);

editText.setText(newStr);

editable =

editText.getText();

//新字符串的长度

int newLen =

editable.length();

//旧光标位置超过字符串长度

if(selEndIndex

> newLen)

{

selEndIndex

= editable.length();

}

//设置新光标所在的位置

Selection.setSelection(editable,

selEndIndex);

}

}

}

对应的 activity 部分的调用为:

package cie.textEdit;

import android.app.Activity;

import android.os.Bundle;

import android.text.InputFilter;

import android.widget.EditText;

public class TextEditActivity extends Activity {

@Override

public void

onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

EditText editText =

(EditText) findViewById(R.id.entry);

editText.addTextChangedListener(new

MaxLengthWatcher(10, editText));

}

}

限制输入字符数为10个

main.xml 文件

encoding="utf-8"?>

android:layout_width="fill_parent"

android:layout_height="fill_parent">

android:id="@+id/label"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="Type here:"/>

android:id="@+id/entry"

android:singleLine="true"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:background="@android:drawable/editbox_background"

android:layout_below="@id/label"/>

android:id="@+id/ok"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_below="@id/entry"

android:layout_alignParentRight="true"

android:layout_marginLeft="10dip"

android:text="OK" />

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_toLeftOf="@id/ok"

android:layout_alignTop="@id/ok"

android:text="Cancel" />

效果为输入了10个字符后,光标停在末尾

android edittext最多输入,android 中如何限制 EditText 最大输入字符数相关推荐

  1. 文件系统中文件的最长(字符数)绝对路径 Longest Absolute File Path

    为什么80%的码农都做不了架构师?>>>    问题: Suppose we abstract our file system by a string in the followin ...

  2. python弹窗输入_Python中使用tkinter弹窗获取输入文本

    # -*- coding: cp936 -*- from tkinter import * from tkinter import messagebox root = Tk() root.title( ...

  3. 【转】android 中如何限制 EditText 最大输入字符数

    原文网址:http://blog.csdn.net/fulinwsuafcie/article/details/7437768 方法一: 在 xml 文件中设置文本编辑框属性作字符数限制 如:andr ...

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

    方法一: 在 xml 文件中设置文本编辑框属性作字符数限制 如:android:maxLength="10" 即限制最大输入字符个数为10 方法二: 在代码中使用InputFilt ...

  5. edtext 从右边开始输入 安卓_Android开发之EditText属性详解

    1.EditText输入的文字为密码形式的设置 (1)通过.xml里设置: 把该EditText设为:android:password="true" // 以".&quo ...

  6. android手机进行android开发,如何在Android手机上进行自动化测试(上)

    版权声明:允许转载,但转载必须保留原链接:请勿用作商业或者非法用途 前言 通过阅读本节教程,你将了解到以下内容: 如何在脚本代码中.运行脚本时指定手机 如何填写--device Android:/// ...

  7. android 扫码枪 字符数少掉,BarTender条码字符数莫名变少是怎么回事?

    小伙伴们在使用BarTender 制作条码标签时,偶尔可能会发现制作的条码字符数变少了,为什么会这样呢?要怎么解决?本文小编就来教大家鉴定BarTender条码字符数变少的原因,并帮助小伙伴们解决问题 ...

  8. 统计“3_人民日报语料”文本中的字符数和词数,把文件分别保存为 ansi, UTF8,UTF16,unicode 格式

    统计"3_人民日报语料"文本中的字符数和词数,把文件分别保存为 ansi, UTF8,UTF16,unicode 格式; 首先,统计文件的字符数,有两种方法.第一种是将文件复制到w ...

  9. java 读取文件 二进制_JAVA中读取文件(二进制,字符)内容的几种方法总结

    public class ReadFromFile { /** * 以字节为单位读取文件,常用于读二进制文件,如图片.声音.影像等文件. */ public static void readFileB ...

最新文章

  1. 基于openCV的项目实战1:信用卡数字识别
  2. 2840 页的计算机毕业论文,这位华人小哥的博士论文究竟写了啥?
  3. SparkSQL ThriftServer 安全相关功能的现状分析
  4. js输出一个菱形_Threejs使用菱形正方形算法,中点替换算法生成随机地形
  5. c dup 函数
  6. Apache配置代理服务器的方法(2)
  7. 【人脸表情识别】情绪识别相关会议、比赛汇总(2018-2020)
  8. android xml 未能解析文件,Android Studio中“无法解析符号R”
  9. Java批量生成数据库测试数据
  10. dbms_排名前50位的DBMS面试问答
  11. 故障error: failed to run Kubelet: failed to create kubelet: misconfiguration: kubelet cgroup driver: “
  12. DPlayer播放器本地化P2P解析加速版源码
  13. 工作流activiti5 使用流程变量
  14. quickselect java,实现快速选择
  15. Python【WINAPI】钩子程序获取账号密码等键盘输入信息
  16. 关于call和apply函数的区别及用法
  17. python等比例压缩图片_python(PIL)图像处理(等比例压缩、裁剪压缩) 缩略(水印)图详解...
  18. 【CCCC】L2-002 链表去重 (25分),,把一个链表拆成两个
  19. pyspark:basic_operating_1
  20. 信创终端违规外联案例分析及防控措施

热门文章

  1. 2020 年,程序员如何拥抱 5G ?
  2. 收下这份说明书,原来迈进智能计算的大门如此简单
  3. 双十一,不玩盖楼,直接大额降价!
  4. 解密 TCP/IP!
  5. CSDN 创始人蒋涛:AI 定义的开发者时代
  6. 支付宝辟谣交易 5 万受监控;App Store 宕机;谷歌抛弃 AI | 极客头条
  7. Android 8.1 频频被曝 Bug,是要赶超苹果吗?
  8. 【linux(1),八年Java开发心路历程
  9. 吴军信息论40讲_吴军:有时候成功比失败更糟糕!顺势而为还是走弯路,就看一件事...
  10. java中element转换_java中实体类与xml的element相互转换