ArrayList从对象获取元素 - Java

时间:2017-03-03 17:40:15

标签: java android arraylist

我创建了这个类:

ArrayList<Questions> questionsArrayList;

 questionsArrayList= new ArrayList();
        questionsArrayList.add(new Questions(getString(R.string.question1),(getString(R.string.answer1))));
        questionsArrayList.add(new Questions(getString(R.string.question2),(getString(R.string.answer2))));
        questionsArrayList.add(new Questions(getString(R.string.question3),(getString(R.string.answer3))));
        questionsArrayList.add(new Questions(getString(R.string.question4),(getString(R.string.answer4))));

我想将它添加到ArrayList:

R.string.question1

我怎么打电话( 例如)questionArrayList.get(0);R.string.answer1设置为TextView,{{1}}设置为String以检查正确答案。我不知道如何分开它。

3 个答案:

答案 0 :(得分:0)

下面:

questionsArrayList.add(new Questions(getString(R.string.question1),(getString(R.string.answer1)))

您无法在一次通话中添加()多个对象。

您可以add(oneObject);或执行addAll(Arrays.asList(oneObject, anotherObject, ....));

之类的操作

请注意:创建列表时,您应该只使用特定的列表类型;在任何其他地方,只使用List类型;像

List<String> questions = new ArrayList<>();

答案 1 :(得分:0)

如果您希望能够从Questions类访问问题和答案,则必须在Questions类中创建一个getter函数。例如

public String getQuestion() {
    return questionsList.get(0);
}

public String getAnswer() {
    return questionsList.get(1);
}

通过添加这些,您现在可以从Questions类的任何实例访问问题和答案。 或者,使用您当前的代码,您可以调用getQuestionsList()。get(0)等。我个人不会以这种方式构建我的代码,但它取决于您。

答案 2 :(得分:0)

看起来您的问题类仅设置为处理单个问题和单个答案。因此不需要将它们存储在arrayList中。您可以将它们存储为字符串,然后使用getter / setter来访问问题和答案。

public class Questions {

    private final String question;
    private final String answer;

    public Questions(String question,String answer) {
        this.question = question;
        this.answer = answer;
    }

    public String getQuestion() {
        return this.question;
    }

    public String getAnswer() {
        return this.answer;
    }
}

如果您仍然需要将问题作为列表,则可以添加以下方法:

 public List<String> getQuestionsList() {
     return Arrays.asList(question, answer);
 }