Android 关于新浪微博字数的处理

原文 : http://blog.csdn.net/walker02/article/details/8059828


需求:最近在做仿新浪微博的项目,遇到关于文本编辑框内文字的处理问题,时时的监听文本框输入了多少字符,当时没有考虑到输入的内容问题,现在要求是一个汉字 == 两个英文字母,标点符号也区分英文和中文,一个中文标点== 两个英文标点。

解决方式:通过输入文本所占的字节数去判断


封装了一个方法:

[java]  view plain copy
  1. /** 
  2.  * 计算微博内容的长度  1个汉字 == 两个英文字母所占的长度  标点符号区分英文和中文 
  3.  * @param c 所要统计的字符序列 
  4.  * @return 返回字符序列计算的长度 
  5.  */  
  6. public static long calculateWeiboLength(CharSequence c) {  
  7.       
  8.        double len = 0;  
  9.        for (int i = 0; i < c.length(); i++) {  
  10.                int temp = (int)c.charAt(i);  
  11.                if (temp > 0 && temp < 127) {  
  12.                        len += 0.5;  
  13.                }else{  
  14.                        len ++;  
  15.                }  
  16.        }  
  17.     return Math.round(len);  
  18. }  

使用时直接调用即可

你可能感兴趣的:(Android 关于新浪微博字数的处理)