ошибка: несоответствие типов: невозможно преобразовать ArrayList <Subchild>в ArrayList <String> - PullRequest
0 голосов
/ 20 декабря 2011

Привет, я успешно проанализировал один xml-файл.Теперь я изменил простую модификацию в моем XML-файле после того, как я получил много ошибок.Как решить эту ошибку, я не знаю, я сначала отправляю свой xml-файл и использую синтаксический анализатор.

У меня есть два счетчика, если я нажимаю первый счетчик, он показывает test1, test2, test3, затем я выбираю test1 егопоказывает имя тега test1 от stest1 до stest5.Если выбрать test2, мой второй счетчик покажет stest6 to stest10, это мой рабочий вывод xml-файла. Сейчас я пытаюсь добавить один тег в sltag из моего xml-файла. Мой тег имени отображаемого имени sltag теперь я добавляю, моя проблема запущена.Моя проблема заключается в том, как получить оба значения в мой sltag. Мне нужно отдельное строковое значение, поэтому я передал класс в свой список массивов sltag и создал класс также после объявления имени и пути в список массивов, как получить оба строковых значения. Моя цель - когда я выбираюЗначение 2-го счетчика, которое я хочу показать в нижней части экрана с некоторыми изображениями. Я пытаюсь получить значение строки пути.

Это моя ошибка: 1. строка ошибки: несоответствие типов: невозможно преобразовать ArrayList в ArrayList

строка

ссылка на источник: http://paste.org/42566

ссылка на другие файлы Java здесь:

http://paste.org/42567

http://paste.org/42568

http://paste.org/42569

1 Ответ

1 голос
/ 20 декабря 2011

Ваш метод getSLTag объявлен как возвращающий ArrayList<String>, но переменная sltag в классе xmlTag на самом деле ArrayList<SubChild>, следовательно, несоответствие типов.

Итак, чтобы ответить на ваш дополнительныйкомментарий о желании получить строку пути из sltag, вам нужно будет перебрать коллекцию SubChild s и добавить каждый путь в новый список строк, например,

public ArrayList<String> getSLTag(String hltag) {
    List<String> slTags = new ArrayList<String>();
    for(int i = 0; i < xmlTagInfo.size(); i++) {
        if( xmlTagInfo.get(i).hltag == hltag ) {
            for (SubChild child : xmlTagInfo.get(i).sltag) {
                // Your SubChild class actually declares path and name to be an ArrayList of Strings, but surely they should just be Strings?
                slTags.add(child.getPath());
            }
        }
    }
    return slTags;
}
...