Итерация ArrayList во вложенном цикле for приводит к неожиданному результату - PullRequest
0 голосов
/ 11 апреля 2019

Я хочу реализовать расширяемый повторный просмотр с заголовком и некоторыми подзапросами в Android. Я использую этот пример.

Я сталкиваюсь с такой проблемой при построении данных для расширяемого адаптера.

Это мой ответ от API

            [{
                "Label": "Title One",
                "Question": "SubQuestion One "
            },
            {
                "Label": "Title One"
                "Question": "SubQuestion Two"
            },
            {
                "Label": "Title Two",
                "Question": "SubQuestion Three"
            },
            {
                "Label": "Title Two",
                "Question": "SubQuestion Four"
            },
            {
                "Label": "Title Two",
                "Question": "SubQuestion Five"
            }]

Я хочу отделить каждый вопрос с меткой, имеющей заголовок первый и такой же, как и заголовок второй, поэтому я сделал следующее:

Шаг 1: Создание ArrayList of Labels и удаление повторяющегося элемента из ArrayList

for (int j = 0; j < temp.size(); j++) {
ProgramDefinitionV1Days data = temp.get(j);
mAllTitlesList.add(data.getLabel());
}
mCompareTitlesList.clear();
mCompareTitlesList = removeDuplicates(mAllTitlesList);

Шаг 2. Сравнение mCompareTitlesList с исходным ответом и получение вопросов по метке

for (String label : mCompareTitlesList) {
mQuetionsList.clear();
for (int i = 0; i < temp.size(); i++) {
    if (label.equalsIgnoreCase(temp.get(i).getLabel())) {

        mQuetionsList.add(new Questions(temp.get(i).getQuestion()));
    }

}
Log.e("mQuetionsList", "" + new Gson().toJson(mQuetionsList));
Titles mTitles = new Titles(label, mQuetionsList);
mTitlesList.add(mTitles);
}

Но, к сожалению, я этого не сделалполучите ожидаемый результат из него.

[{"mQuestions":[{"mQuestions":"Question Three"},{"mQuestions":"Question Four"},{"mQuestions":"Question Five"}],"mTitle":"Title One"},{"mQuestions":[{"mQuestions":"Question Three"},{"mQuestions":"Question Four"},{"mQuestions":"Question Five"}],"mTitle":"Title Two"}]

На каждом ярлыке есть все вопросы последнего ярлыка

Что я ожидаю

[{"mQuestions":[{"mQuestions":"Question One"},{"mQuestions":"Question Two"}],"mTitle":"Title One"},{"mQuestions":[{"mQuestions":"Question Three"},{"mQuestions":"Question Four"},{"mQuestions":"Question Five"}],"mTitle":"Title Two"}]

Любые предложения?

...