Android 数据绑定 XML 错误

Android Data Binding XML Error

我在 Android Studio 项目上使用数据绑定库,每当我构建、运行、清理、重建等时,我都会收到以下错误:

 :app:processDebugResources AGPBI:

{"kind":"error","text":"Error parsing XML: duplicate attribute","sources": [{"file":"C:\Users\lucia.beltran\Desktop\Picho\Projects\Personal\ improved-tribble\ImprovedTribble\app\build\intermediates\data-binding-layout-out\debug\ layout\task_list_item.xml","position":{"startLine":16}}],"original":"","tool":"AAPT"}

C:\Users\lucia.beltran\Desktop\Picho\Projects\Personal\improved-tribble\ImprovedTribble\app\build\intermediates\data-binding-layout-out\debug\layout\task_list_item.xml:17: error: Error parsing XML: duplicate 

 FAILED

FAILURE: Build failed with an exception.

* What went wrong: Execution failed for task ':app:processDebugResources'.
> com.android.ide.common.process.ProcessException: Failed to execute aapt

* Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 3.826 secs

我的布局如下

<layout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <data>
        <variable
            name="task"
            type="com.pichardo.improvedtribble.models.Task" />
    </data>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal">

    </LinearLayout>

</layout>

gradle 控制台所说的绑定文件的布局如下:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal" android:tag="layout/task_list_item_0" xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent">

</LinearLayout>

我知道哪些是重复的属性,但我不知道为什么会崩溃。

我阅读了 ,但我的 build.gradle 文件中没有类似的内容。

有什么建议吗?

尝试删除 android:layout_widthandroid:layout_height="match_parent" 布局 标签

<layout xmlns:android="http://schemas.android.com/apk/res/android">

    <data>
        <variable
            name="task"
            type="com.pichardo.improvedtribble.models.Task" />
    </data>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal">

    </LinearLayout>

</layout>

这是我编辑过的真实代码:

<?xml version="1.0" encoding="utf-8"?>
<layout
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:android="http://schemas.android.com/apk/res/android"
>

    <data>
        <variable
            name="MyDTO"
            type="com.example.MyDTO"
        />
    </data>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        tools:mContext="com.example.MyActivity"
    >

所有命名空间必须位于外部布局标记中。任何删除都没有帮助。