`
yidongkaifa
  • 浏览: 4052641 次
文章分类
社区版块
存档分类
最新评论

EditText监听方法,实时的判断输入多少字符

 
阅读更多

最近在写一个小项目,其中有一点用到了显示EditText中输入了多少个字符,像微博中显示剩余多少字符的功能。在EditText提供了一个方法addTextChangedListener实现对输入文本的监控。下边是我自己写的一个Demo。

代码实现:

布局文件main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView  android:id="@+id/tv"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:textColor="@android:color/white" 
    android:text="Please input the text:"
    />
<EditText android:id="@+id/ET" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"
    />
</LinearLayout>
Activity
package com.damai.test;

import android.app.Activity;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class TestActivity extends Activity {
    private TextView mTextView;
    private EditText mEditText;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        mTextView = (TextView)findViewById(R.id.tv);
        mEditText = (EditText)findViewById(R.id.ET);
        mEditText.addTextChangedListener(mTextWatcher);
    }
    
    TextWatcher mTextWatcher = new TextWatcher() {
        private CharSequence temp;
        private int editStart ;
        private int editEnd ;
		@Override
		public void onTextChanged(CharSequence s, int start, int before, int count) {
			// TODO Auto-generated method stub
			 temp = s;
		}
		
		@Override
		public void beforeTextChanged(CharSequence s, int start, int count,
				int after) {
			// TODO Auto-generated method stub
//			mTextView.setText(s);//将输入的内容实时显示
		}
		
		@Override
		public void afterTextChanged(Editable s) {
			// TODO Auto-generated method stub
            editStart = mEditText.getSelectionStart();
            editEnd = mEditText.getSelectionEnd();
            mTextView.setText("您输入了" + temp.length() + "个字符");
            if (temp.length() > 10) {
                Toast.makeText(TestActivity.this,
                        "你输入的字数已经超过了限制!", Toast.LENGTH_SHORT)
                        .show();
                s.delete(editStart-1, editEnd);
                int tempSelection = editStart;
                mEditText.setText(s);
                mEditText.setSelection(tempSelection);
            }
		}
	};
}


分享到:
评论

相关推荐

    监听edittext输入的字符长度并进行相应处理

    监听edittext输入的字符长度,可自行添加需要的操作

    Android限制只能输入中文的EditText

    Android限制只能输入中文的EditText,对输入的内容进行监听拦截。

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

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

    全面解析Android中对EditText输入实现监听的方法

    在 Android design support 包中提供了一种在输入不合适字符时一直显示的提示方式来显示,现在已经开始在更多的应用上被使用了;这些 Android app 在显示他们的错误提示时采用的不同的方式常常让人感觉非常的不和谐...

    EditTextDemo演示

    Android 输入框监听,实现监听输入字符总数变化

    Android之EditText控制禁止输入空格和回车

    1.EdiTtext输入框控制不能输入空格,给EditText添加一个addTextChangedListener监听,如果有空格split截取截取再for循环将截取后不包含空格的字符串数组重新排列这样这个字符串就不包含空格了,最后将这个字符串重新...

    Android TextWatcher监控EditText中的输入内容并限制其个数

    本篇文章主要介绍了Android TextWatcher监控EditText中的输入内容并限制其个数,我们可以通过TextWatcher去观察输入框中输入的内容,有兴趣的可以了解一下。

    Android EditText每4位自动添加空格效果

    EditText输入框监听死循环 输入框中的空格无法删除(删除又添加) 从中间删除一个数字产生的一系列问题 输入框光标位置的控制问题 之前踩坑的过程就不再赘述了,太心酸…. 经过一系列的实验,最后定下来的思路...

    Android 自定义验证码输入框的实例代码(支持粘贴连续性)

    需求 1、能自定义输入框个数...Edittext:监听edittext每次输入一个字符就赋值到对应的TextView上,然后在清空自己 下划线:在TextView下面添加View 光标:这里的每个TextView的焦点光标其实对View设置了ValueAnimator

    自写的Android直接发送短信的方法.rar

      //判断号码字符串是否合法   if(PhoneNumberUtils.isGlobalPhoneNumber(tempPhone)){//合法则发送短信   sendSMS(tempPhone,smsStr,v);//发送短信   }  }  }完整源代码请在本页面下载。

    Android DialogInterface列表对话框选择及取值的例子.rar

    声明列表对话框的id,显示列表对话框,为按钮添加OnClickListener监听器,然后重写的onCreateDialog方法:  switch(id){//对id进行判断  case LIST_DIALOG:   Builder b = new AlertDialog.Builder(this);//创建...

    Android 实现多选按钮对话框.rar

    //选项数组,通过重写onCreate方法,从XML文件读取下拉框内容到字符串数组中,为按钮添加监听器,并显示多选按钮对话框,同时自定义了一个处理程序,用于判断用户是否选择多选 框中的内容:Dialog dialog = null;...

    SQLiteDemo

    else{//不为空时,将输入输入框中的字符串赋给People_mll类中的变量 people.name=nameEditText.getText().toString(); people.age=Integer.parseInt(ageEditText.getText().toString()); ...

    Android开发资料合集--续

    95、Java替换字符串,不区分大小写 138 96、Java获得随机数 139 97、MD5加密 141 98、HTTP数据传输 141 从Internet获取数据 141 向Internet发送数据 143 99、Jason解析 146 100、广播 147 101、SQLite清空数据库 147...

    Android 开发技巧

    4.3、EDITTEXT 49 4.3.1、光标选择 49 4.4、TITLEBAR 50 4.4.1、非全屏状态下不显示title标题栏 50 4.4.2、标题栏进度指示器 50 4.4.3、titleBar 高级实现方法(更美观) 51 4.4.4、获取标题栏和状态栏高度 57 4.4.5、...

    Android开发资料合集-World版!

    4.3、EDITTEXT 49 4.3.1、光标选择 49 4.4、TITLEBAR 50 4.4.1、非全屏状态下不显示title标题栏 50 4.4.2、标题栏进度指示器 50 4.4.3、titleBar 高级实现方法(更美观) 51 4.4.4、获取标题栏和状态栏高度 57 4.4.5、...

    Android基于RecyclerView实现高亮搜索列表

    2.搞清楚EditText的实时监听 3.让一个textview出现不同的颜色 4.如何穿过Adpter找出textview中key值(也就是高亮字符串) 当你打通这四个技术点后,如果还不能实现这种效果,那么你能说你现在的学习太死板,不会活...

Global site tag (gtag.js) - Google Analytics