* 计算分享内容的字数,一个汉字=两个英文字母,一个中文标点=两个英文标点 注意:该函数的不适用于对单个字符进行计算,因为单个字符四舍五入后都是1
*
* @param c
* @return
*/
privatelong calculateLength(CharSequence c) {
double len = 0;
for (int i = 0; i < c.length(); i++) {
int tmp = (int) c.charAt(i);
if (tmp > 0 && tmp < 127) {
len += 0.5;
} else {
len++;
}
}
return Math.round(len);
}
/**
* 刷新剩余输入字数,最大值新浪微博是140个字,人人网是200个字
*/
privatevoid setLeftCount() {
mTextView.setText(String.valueOf((MAX_COUNT - getInputCount())));
}
/**
* 获取用户输入的分享内容字数
*
* @return
*/
privatelong getInputCount() {
return calculateLength(mEditText.getText().toString());
}
}