невозможно получить значения из двух разных массивов - PullRequest
0 голосов
/ 14 ноября 2018

У меня два разных массива разных размеров, моя проблема в том, что мне нужно извлечь значения из списка и показать, что в текстовом виде, когда я использую два цикла, сначала выполняется внутренний цикл, а затем выполняется внешний цикл и значения печатаются два раза, и если использовать разрыв для разрыва внутреннего цикла, он полностью игнорирует внутренний цикл после 1-го цикла.

ArrayList<LocationDto>location = new ArrayList<>();
education<EducationDto> = new ArrayList<>();

if (education.size() != 0) {
    for (int j = 0; j < education.size(); j++) {
        for (int k = 0; k < location.size(); k++) {
            if (!education.get(j).getSpecializationTitle().equalsIgnoreCase("") && !location.get(k).getLocationName().equalsIgnoreCase("")) {
                tvEducation.append(education.get(j).getEducationTitle() + "(" + education.get(j).getSpecializationTitle() + ")" + " Located at " + location.get(k).getLocationName());
            } else if (education.get(j).getSpecializationTitle().equalsIgnoreCase("") && !location.get(k).getLocationName().equalsIgnoreCase("")) {
                tvEducation.append(education.get(j).getEducationTitle() + " Located at " + location.get(j).getLocationName());
            } else if (!education.get(j).getSpecializationTitle().equalsIgnoreCase("") && location.get(k).getLocationName().equalsIgnoreCase("")) {
                tvEducation.append(education.get(j).getEducationTitle() + "(" + education.get(j).getSpecializationTitle() + ")");
            } else {
                tvEducation.append(education.get(j).getEducationTitle());
            }
            if (j != education.size() - 1) {
                tvEducation.append(" , ");
            }
            break;
        }
    }
} else {
    tvEducation.setText("Not Specified");
    tvEducation.setTextColor(getResources().getColor(R.color.color_three));
}

что мне теперь делать?

1 Ответ

0 голосов
/ 14 ноября 2018

Оператор break завершает цикл независимо от того, завершился он или нет, поэтому ваша проблема в том, что вы поместили разрыв непосредственно в свой внутренний цикл for без каких-либо условий.Поэтому при первом запуске цикла он достигнет разрыва, поэтому он завершается на первой итерации!

Вы, вероятно, хотите поместить разрыв в последний оператор if?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...