使用Android数据绑定将List类型导入xml文件时出错

Wou*_*ter 9 xml android android-studio android-databinding

当我尝试使用Android数据绑定将List类类型导入xml文件时,我收到以下错误

Error: cannot find type element for List.
Run Code Online (Sandbox Code Playgroud)

这个错误实在令人沮丧,因为我遵循了这个文档并且看起来不正确.虽然网上有很多数据绑定教程,但我无法找到涵盖这一特定问题的教程.

我的xml文件中的数据部分如下所示:

<data>

    <import type="android.view.View" />

    <import type="java.util.List" />

    <import type="com.example.app.Book" />

    <variable
        name="books"
        type="List&lt;Book&gt;" />

</data>

List<Book> books = new ArrayList<>();
mBinding.setBooks(books);
Run Code Online (Sandbox Code Playgroud)

有没有人设法解决这个问题?我真的很感激这里的一些帮助.

xia*_*ing 12

我刚才遇到了这个问题,

Error:(34, 26) cannot find type element for List 
Run Code Online (Sandbox Code Playgroud)

并通过更换解决了它

<data>
    <import type="java.util.List"/>
    <variable
        name="list"
        type="List&lt;String&gt;"/>
</data>
Run Code Online (Sandbox Code Playgroud)

<data>
    <variable
        name="list"
        type="java.util.List&lt;String&gt;"/>
</data>
Run Code Online (Sandbox Code Playgroud)

希望这可以帮到你!


此外,尝试引用具有完全限定类名而不是短类名的类型.喜欢

type="java.util.List&lt;com.example.app.Book&gt;"
Run Code Online (Sandbox Code Playgroud)

因为在我的情况下,我发现导入标签没有任何意义.

  • @PanosGr您只需要转义XML中的小于号,而不是大于号 (2认同)