当我们在进行一个字符串操作的时候,为了代码的严谨性,我们需要对我们即将操作的字符串进行非空判断,保证不要报空指针异常。这时候很多小伙伴想到了TextUtils.isEmpty的方法。但其实TextUtils不止有这一个方法。这里我列举出TextUtils中常用的四个方法,供大家需要时查阅。
- isEmpty:判断字符串是否为空值。
- getTrimmedLength:获取字符串去除头尾空格之后的长度。
- isDigitsOnly:判断字符串是否全部由数字组成。
- ellipsize:如果字符串超长,则返回按规则截断并添加省略号的字符串。
前三个就不需要多说了,主要是第四个TextUtils.ellipsize的用法我这里提一下。
tv_info.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
tv_info.getViewTreeObserver().removeOnGlobalLayoutListener(this);
}
String name = (String) TextUtils.ellipsize(str,tv_info.getPaint(),tv_info.getWidth(),TextUtils.TruncateAt.END);
}
});
TextUtils.ellipsize的用法如上所示,第一个参数就是我们要进行操作截取的字符串。第二个是我们所要显示这个这些字符的控件画笔,用我所示方法获取即可。第三个是文字要显示的长度,我们一般都是控件的长度。第四个是截图的位置。最后返回的内容就是我们可以看到的最终显示内容。