-1
有时候,当文字太长而不适合时,文本字符串get会被截断或重叠。 我怎样才能检测到发生这种情况,并且得到了呈现的确切字符串与请求呈现的字符串?
椭圆并不总是绘制。不要问关于内容愚蠢的编辑器。有很多内容,你现在没有格式化代码!TextView如何获取实际呈现的文本?
final ViewTreeObserver obs = viewHolder.myTextView.getViewTreeObserver();
obs.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
Layout l = viewHolder.myTextView.getLayout();
if (l != null) {
int lines = l.getLineCount();
if (lines > 0) {
if (l.getEllipsisCount(lines-1) > 0) {
LazLog.d(PaginatorAdapter.class.getSimpleName(), "Text is ellipsized");
}
}
}
});
有时候,文本字符串get被截断或重叠时,它太长,以适应。我该如何检测何时发生这种情况,并获取呈现的确切字符串与要求呈现的字符串?椭圆并不总是绘制。不要询问关于内容STUPID STACK OVERFLOW编辑器的问题。有很多内容,你现在没有格式化代码!我已经把它推到了不止一个水龙头空间,并且它不会将它识别为代码。有人请编辑并告诉我我在这里做错了什么?
如果文本是一个可扫描这将崩溃。这里是更多发生的事情:我试图检测何时字符串太长。这是什么在发生:https://stackoverflow.com/questions/44243141/textview-detect-if-string-exceeds-available-space到目前为止,它只是截断了spannable,离开了最后一半。它也不会和椭圆。 – gitsensible
如果它截断了呢?我想要一个返回给我的字符串的方法。整个字符串,而不是它在setText期间传递的任何内容(spannable) – gitsensible
我的代码片断给了你截断的文本... – moritzg