以前使用TextUtils都只會用isEmpty()和equals()方法,最近接觸到它的一些很好用的方法,特此記錄一下:
簡單使用
String a = "Android";
String b = " Studio";
String c = "012345";
String d = " \n\t \b";
String e = "11-233-we-7d-fv";
String f = "<html>\n<body>\n<h1>My First Heading</h1>\n<p>My first paragraph.</p>\n</body>\n</html>";
Log.e("tag", TextUtils.isEmpty(a) + "");// 字符串是否為null或“”
Log.e("tag", TextUtils.isDigitsOnly(c) + "");// 字符串是否全是數(shù)字
Log.e("tag", TextUtils.isGraphic(d) + "");// 字符串是否含有可打印的字符
Log.e("tag", TextUtils.concat(a, b) + "");// 拼接多個字符串
Log.e("tag", TextUtils.getTrimmedLength(b) + "");// 去掉字符串前后兩端空格(相當(dāng)于trim())之后的長度
Log.e("tag", TextUtils.getReverse(b, 0, b.length()) + "");// 在字符串中蚣录,start和end之間字符的逆序
List<String> list = new LinkedList<String>();
list.add("I");
list.add("love");
list.add("you");
Log.e("tag", TextUtils.join("-", list));// 在數(shù)組中每個元素之間使用“-”來連接
String[] arr = TextUtils.split(e, "-");// 以"-"來分組
for (int i = 0; i < arr.length; i++) {
Log.e("tag", arr[i]);
}
Log.e("tag", TextUtils.htmlEncode(f) + "");// 使用html編碼字符串
TextUtils.ellipsize()獲取TextView已setMaxLines后颈渊,顯示出來的字內(nèi)容
adoptAnswerTv.getViewTreeObserver().addOnGlobalLayoutListener(
new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
adoptAnswerTv.getViewTreeObserver().removeOnGlobalLayoutListener(this);
int paddingLeft = adoptAnswerTv.getPaddingLeft();
int paddingRight = adoptAnswerTv.getPaddingRight();
int lineWidth = adoptAnswerTv.getWidth() - paddingLeft - paddingRight;
CharSequence ellipsize = TextUtils.ellipsize(answerContent, adoptAnswerTv.getPaint(), lineWidth * expandMaxLines, TextUtils.TruncateAt.END);
if (TextUtils.equals(ellipsize, answerContent)) {
adoptAnswerPackUpTv.setVisibility(View.GONE);
} else {
adoptAnswerPackUpTv.setVisibility(View.VISIBLE);
}
}
});