добавление текста в текстовое представление от arraylist с комой в качестве разделителя в Android - PullRequest
0 голосов
/ 19 ноября 2018

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

   if (skill.size() != 0) {
                for (int i = 0; i < skill.size(); i++) {
                    if (!skill.get(i).getSkillName().equalsIgnoreCase("")) {
                        tvKeySkills.append(skill.get(i).getSkillName());
                        if (i != skill.size() - 1 && !skill.get(skill.size()-1).getSkillName().equalsIgnoreCase("")) {
                            tvKeySkills.append(" , ");
                        }
                    }
                }
            } else {
                tvKeySkills.append("Not Specified ");
                tvKeySkills.setTextColor(getResources().getColor(R.color.color_three));
            }

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

1 Ответ

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

Первый список дескрипторов пустой или нулевой.

Затем для каждого места в списке проверяйте ненулевое и не пустое имя навыка, продолжайте добавлять его в локальную строку.

Эта локальная строкабудет начинаться с ,.Удалите это перед установкой в ​​текстовом представлении.

String keySkills = "";

if(skill != null && !skill.isEmpty()){
    for (int i = 0; i < skill.size(); i++) {
        if (skill.get(i).getSkillName() != null && !skill.get(i).getSkillName().isEmpty()) {
            keySkills = keySkills+", "+ skill.get(i).getSkillName();
        }
    }

    if(keySkills.isEmpty())
        keySkills = "Not Specified";
}else {
    keySkills = "Not Specified";
}

if(keySkills.equals("Not Specified")
    tvKeySkills.setTextColor(getResources().getColor(R.color.color_three));
else
    keySkills = keySkills.subString(2); // handle initial ',' with a space

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