扩展 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 文本的类被截断的主要内容,如果未能解决你的问题,请参考以下文章