Android 在TextView上设置部分文本

Android 在TextView上设置部分文本,android,Android,我已经创建了一个应用程序,可以从网站上的xml文件读取RSS提要,并使用cardview在卡片中显示,它工作得很好,但卡片包含所有描述,我只想显示前两行描述,因此我修改了代码,但它不工作,并说: StringIndexOutOfBoundsException: length=0; regionStart=0; regionLength=20 这是我代码的一部分: @Override public void onBindViewHolder(MyViewHolder holder, int po

我已经创建了一个应用程序,可以从网站上的xml文件读取RSS提要,并使用cardview在卡片中显示,它工作得很好,但卡片包含所有描述,我只想显示前两行描述,因此我修改了代码,但它不工作,并说:

StringIndexOutOfBoundsException: length=0; regionStart=0; regionLength=20
这是我代码的一部分:

@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
    YoYo.with(Techniques.FadeIn).playOn(holder.cardView);
    start= holder.Description.getText().toString().substring(0,20);
    FeedItem current=feedItems.get(position);
    holder.Title.setText(current.getTitle());
    holder.Description.setText(start);
    holder.Date.setText(current.getPubDate());
    Picasso.with(context).load(current.getThumbnailUrl()).into(holder.Thumbnail);

}
而不是

start= holder.Description.getText().toString().substring(0,20);
这样做:

start = holder.Description.getText().toString();
if (start.length() > 20) {
    start = start.substring(0,20);
}
如果
holder.Description.getText().toString()
长度小于21个字符,则不需要使用子字符串而不是

start= holder.Description.getText().toString().substring(0,20);
这样做:

start = holder.Description.getText().toString();
if (start.length() > 20) {
    start = start.substring(0,20);
}
如果
holder.Description.getText().toString()长度小于21个字符,则不需要子字符串