扩展 AbstractDetailsDescriptionPresenter 文本的类被截断

Posted

技术标签:

【中文标题】扩展 AbstractDetailsDescriptionPresenter 文本的类被截断【英文标题】:Class extending AbstractDetailsDescriptionPresenter text gets cut off 【发布时间】:2019-08-13 16:58:57 【问题描述】:

我正在使用一个扩展 AbstractDetailsDescriptionPresenter 的类。摘要文字比较长。由于某种原因,文本在一定长度后被截断。我无法弄清楚如何在不被切断的情况下显示整个文本。 我尝试了viewHolder.getBody().setLines(20); 和其他属性更改,但似乎没有任何效果。

这是我正在使用的 Presenter 类:

public class MovieDetailPresenter extends AbstractDetailsDescriptionPresenter 

@Override
protected void onBindDescription(ViewHolder viewHolder, Object item) 
    Video video = (Video) item;

    if (video != null) 
        viewHolder.getTitle().setText(video.title);
        viewHolder.getSubtitle().setText(video.subtitle);
        viewHolder.getBody().setText(video.summary);

    
  

如何取消文本长度限制/截断?

这里有一张图片可以更好地说明我的意思。右下角的文本没有完整显示,而是被截断并在末尾添加了三个点 (...)。

感谢任何提示/帮助。

【问题讨论】:

【参考方案1】:

终于找到了解决方案:制作一个没有addPreDrawListener() 方法(导致问题)的自定义“AbstractDetailsDescriptionPresenter”,并在“DetailsDescriptionPresenter”中使用它。

【讨论】:

【参考方案2】:

body.setMaxLines(Integer.MAX_VALUE) 应该可以解决问题,除非您在 LayoutParams 中的某处强制指定高度。我假设您将高度设置为 wrap_content?您可以尝试在开发者选项中启用Show Layout Bounds,看看您的更改是否有任何效果。

【讨论】:

不幸的是没有工作。我通过克隆 AbstractDetailsDescriptionPresenter 类并从该类中删除阻止我进行布局更改的 addPreDrawListener() 方法找到了解决方案。

以上是关于扩展 AbstractDetailsDescriptionPresenter 文本的类被截断的主要内容,如果未能解决你的问题,请参考以下文章

GroovyGroovy 扩展方法 ( 扩展静态方法示例 | 扩展实例方法示例 | 扩展实例方法与扩展静态方法代码相同 )

003-正则的扩展数值的扩展函数的扩展数组的扩展对象的扩展

GroovyGroovy 扩展方法 ( 实例扩展方法配置 | 扩展方法示例 | 编译实例扩展类 | 打包实例扩展类字节码到 jar 包中 | 测试使用 Thread 实例扩展方法 )

GroovyGroovy 扩展方法 ( 静态扩展方法配置 | 扩展方法示例 | 编译静态扩展类 | 打包静态扩展类字节码到 jar 包中 | 测试使用 Thread 静态扩展类 )

Kotlin扩展函数 ③ ( 定义扩展文件 | 重命名扩展函数 | Kotlin 标准库扩展函数 )

Kotlin扩展函数 ② ( 扩展属性 | 为可空类型定义扩展函数 | 使用 infix 关键字修饰单个参数扩展函数的简略写法 )