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

Java+Android Studio开发简易Quiz应用遇到编译错误求助

报错解决方案

所有报错可按以下步骤逐一修复:

  • 首先补充MainActivity缺失的类导入声明,在现有import代码后添加以下内容:
import android.widget.Button;
import android.widget.TextView;
import java.util.ArrayList;
import java.util.Random;

该步骤可解决Cannot resolve symbol 'TextView'、Cannot resolve symbol 'Button'、Cannot resolve symbol 'ArrayList'、Cannot resolve symbol 'Random'四类报错。

  • 移除QuizModal实例化时的命名参数前缀:Java不支持参数名: 参数值的构造传参写法,该语法属于Kotlin,需要将getQuizQuestion方法内的add代码修改为仅传参数值的形式,示例如下:
private void getQuizQuestion(ArrayList<QuizModal> quizModalArrayList) {
    quizModalArrayList.add(new QuizModal("G", "t", "s", "d", "a", "a"));
    quizModalArrayList.add(new QuizModal("fff?", "tgooo", "to learn new languages", "to learn android", "all", "all"));
    quizModalArrayList.add(new QuizModal("ggg?", "tpooooo", "to learn new languages", "to learn android", "all", "all"));
    quizModalArrayList.add(new QuizModal("hhh?", "doooo", "to learn new languages", "to learn android", "all", "all"));
}

该步骤可解决Cannot resolve symbol 'question'报错。

  • 补全字符串的闭合双引号:原有代码中第二个、第四个QuizModal实例的option1参数值缺少末尾的双引号,会导致编译器语法解析混乱,触发Variable learn is already defined in the scope类报错,上一步修改后的代码已经补全了引号,直接替换即可。
  • 统一包名:报错中出现的se.hv.ei.quizzapp.QuizModal包名比实际声明的包名多了字母z,检查两个文件顶部的package声明,确保MainActivity和QuizModal的包名统一为se.hv.ei.quizapp,该步骤可解决Cannot resolve method 'add(se.hv.ei.quizzapp.QuizModal)'报错。

所有修改完成后,点击Android Studio顶部的File → Sync Project with Gradle Files,等待同步完成即可消除全部报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 05:30:03