android - arraylist.add 在 android 中的编译时错误

标签 android class arraylist

i have one ArrayList; in this i can't able to add the items

下面是我的代码,我不知道我犯了什么错误,请帮助解决这个问题

private ArrayList<Question> question = new ArrayList<Question>();

问题是一个有getter和setter的类

public class Question {

private String id;
private String question;
private String option1;
private String option2;
private String option3;
private String option4;

public Question(String id, String question, String option1, String option2,
        String option3, String option4) {
    super();
    this.id = id;
    this.question = question;
    this.option1 = option1;
    this.option2 = option2;
    this.option3 = option3;
    this.option4 = option4;
}

public String getId() {
    return id;
}
public void setId(String id) {
    this.id = id;
}
public String getQuestion() {
    return question;
}
public void setQuestion(String question) {
    this.question = question;
}
public String getOption1() {
    return option1;
}
public void setOption1(String option1) {
    this.option1 = option1;
}
public String getOption2() {
    return option2;
}
public void setOption2(String option2) {
    this.option2 = option2;
}
public String getOption3() {
    return option3;
}
public void setOption3(String option3) {
    this.option3 = option3;
}
public String getOption4() {
    return option4;
}
public void setOption4(String option4) {
    this.option4 = option4;
}

@Override
public String toString() {
    return question;
}

here i am adding to the array list:

JSONArray questions = data.getJSONArray("questions");
                        for(int i =0; i<questions.length();i++)
                        {                               
                            question.add(questions.getJSONObject(i).getString("id"),questions.getJSONObject(i).getString("question"),questions.getJSONObject(i).getJSONObject("options").getString("option1"),questions.getJSONObject(i).getJSONObject("options").getString("option2"),questions.getJSONObject(i).getJSONObject("options").getString("option3"),questions.getJSONObject(i).getJSONObject("options").getString("option4"));
                        }

But i am getting the following compile time error

The method add(int, Question) in the type ArrayList is not applicable for the arguments (String, String, String, String, String, String)

如何解决这个问题??

最佳答案

您需要在 for 循环中创建一个新问题:

JSONArray questions = data.getJSONArray("questions");
for(int i =0; i<questions.length();i++)
{                               
    question.add(new Question(
        questions.getJSONObject(i).getString("id"),
        questions.getJSONObject(i).getString("question"),
        questions.getJSONObject(i).getJSONObject("options").getString("option1"),
        questions.getJSONObject(i).getJSONObject("options").getString("option2"),
        questions.getJSONObject(i).getJSONObject("options").getString("option3"),
        questions.getJSONObject(i).getJSONObject("options").getString("option4")
    ));
}

关于android - arraylist.add 在 android 中的编译时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23939368/

相关文章:

android - 在 C++ 中连接字符串并使用系统执行的正确方法是什么

ruby 替代 class << thing

java - 如何使用 LinkedList 作为实例字段来管理不可变类?

java - 循环不捕获重复项并在 Android(Java) 中删除它们

java - 改变方向 5 次后内存不足

android - 使用 getLoader 结果同步单元测试异步任务加载器

php - PHP 静态方法可以合法地具有 protected 或私有(private)的可见性吗?

java - 将数组列表中包含的对象的参数传递给方法

java - 如何在 Android Java 中实现嵌套的 ArrayList 并迭代它们

java - 想要通过我的服务器将音频上传到声音云,我如何检查仅从外部存储目录上传歌曲