错误:类型不匹配:无法从ArrayList <subchild>转换为ArrayList <string> </string> </subchild>

时间:2011-12-20 11:01:16

标签: java android xml parsing sax

您好我有一个xml文件成功解析过我之前。现在我在我收到很多错误后,在我的xml文件中更改了简单的修改。如何解决这个错误我不知道我发布我的xml文件1st并使用sax解析器。

我有两个微调器如果我点击第一个微调器它显示test1,test2,test3然后我选择test1它显示test1子标签名称stest1到stest5。如果选择test2我的第二个微调器显示stest6到stest10这是我工作的xml文件输出现在我正在尝试从我的xml文件添加sltag中的一个标签我的sltag显示名称标签现在我在这里添加我的问题已启动。我的问题是如何将两个值都放入我的标签我需要单独的字符串值,所以我在我的sltag数组列表中传递类,并在声明名称和路径到数组列表后创建类然后如何获取两个字符串值我的目的是当我选择第二个微调器值,我想在同一个屏幕底部显示一些图像,我试图获取路径字符串值。

这是我的错误: 1.错误行:类型不匹配:无法从ArrayList转换为ArrayList

来源链接:http://paste.org/42566

其他java文件链接在这里:

http://paste.org/42567

http://paste.org/42568

http://paste.org/42569

1 个答案:

答案 0 :(得分:1)

您的方法getSLTag被声明为返回ArrayList<String>,但sltag类中的变量xmlTag实际上是ArrayList<SubChild>,因此类型不匹配。< / p>

因此,要回答有关想要从sltag获取路径字符串的其他注释,您需要迭代SubChild的集合并将每个路径添加到新的字符串列表,例如

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;
}