android edittext 限制文本框输入的长度和提示信息
生活随笔
收集整理的這篇文章主要介紹了
android edittext 限制文本框输入的长度和提示信息
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
package com.hwtt.android.oa.tool;import android.content.Context;
import android.text.InputFilter;
import android.text.Spanned;
import android.widget.EditText;
import android.widget.Toast;/*** 字符串處理* @author Administrator**/
public class StringUtils {/*** 提示輸入內容超過規定長度 * @param context* @param editText* @param max_length* @param err_msg*/public static void lengthFilter( final Context context, EditText editText,final int max_length, final String err_msg){InputFilter[] filters = new InputFilter[1];filters[0] = new InputFilter.LengthFilter(max_length){@Overridepublic CharSequence filter(CharSequence source, int start, int end,Spanned dest, int dstart, int dend) {// TODO Auto-generated method stub//獲取字符個數(一個中文算2個字符)int destLen = StringUtils.getCharacterNum(dest.toString());int sourceLen = StringUtils.getCharacterNum(source.toString());if(destLen + sourceLen > max_length){Toast.makeText(context, err_msg,Toast.LENGTH_SHORT).show();return "";}return source;}};editText.setFilters(filters);}/*** * @param content* @return*/public static int getCharacterNum(String content){if(content.equals("")||null == content){return 0;}else {return content.length()+getChineseNum(content);}}/*** 計算字符串的中文長度* @param s* @return*/public static int getChineseNum(String s){int num = 0;char[] myChar = s.toCharArray();for(int i=0;i<myChar.length;i++){if((char)(byte)myChar[i] != myChar[i]){num++;}}return num;}
} //超過長度提醒StringUtils.lengthFilter(AddHolidayApplyActivity.this,etReason, Constants.MAX_INPUT_LENGTG,getString(R.string.max_length_holiday_warm));
?
轉載于:https://www.cnblogs.com/ct732003684/archive/2012/12/25/2832707.html
總結
以上是生活随笔為你收集整理的android edittext 限制文本框输入的长度和提示信息的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Hibernate 双向一对一实现(基于
- 下一篇: ecmall开发记录(三)