You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android开发:TextView显示摘要遇Expression expected错误,求替代语法

解决TextView展示摘要时的“Expression expected”错误

先看你遇到的问题,“Expression expected”一般是语法结构不合法导致的,结合你的代码片段,我帮你梳理几个可能的原因和修复方案:

1. 检查return语句的位置

return只能在方法内部使用,如果你的return summary写在了方法外面(比如类的直接代码块里),就会触发这个错误。一定要确保return是在某个处理摘要的方法(比如buildSummary())内部。

2. 补全未完成的代码片段

你的代码里if(setSummarySentences.contains(sen...明显没写完,应该是contains(sentence)吧?这种未闭合的语法会直接让编译器报错,先把这部分补全:

// 从选定句子构建摘要
String summary = "";
summary = summary + "• " + firstSentence + System.getProperty("line.separator") + System.getProperty("line.separator");
for(String sentence : sentences) { // 遍历sentences列表中的每个字符串sentence
    if(setSummarySentences.contains(sentence)) { // 补全contains的参数和条件闭合
        // 这里添加符合条件的句子拼接逻辑
        summary += "• " + sentence + System.getProperty("line.separator") + System.getProperty("line.separator");
    }
}
// 确保return在方法内部
return summary;

3. 正确给TextView设置文本

return是用来返回方法值的,不能直接用它给TextView赋值。拿到正确的summary后,要通过setText()方法设置:

TextView summaryTv = findViewById(R.id.your_textview_id);
summaryTv.setText(summary);

4. 优化代码的小建议

频繁用+拼接字符串会创建很多临时对象,建议用StringBuilder来优化性能:

StringBuilder summaryBuilder = new StringBuilder();
summaryBuilder.append("• ")
              .append(firstSentence)
              .append(System.getProperty("line.separator"))
              .append(System.getProperty("line.separator"));
for(String sentence : sentences) {
    if(setSummarySentences.contains(sentence)) {
        summaryBuilder.append("• ")
                      .append(sentence)
                      .append(System.getProperty("line.separator"))
                      .append(System.getProperty("line.separator"));
    }
}
String summary = summaryBuilder.toString();
return summary;

先把这些语法问题修复,应该就能解决“Expression expected”的错误了,如果还有问题,可以把完整的方法代码贴出来,我再帮你排查~

内容的提问来源于stack exchange,提问作者Ibukun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:31:24