2016-10-05 4 views
2

Я использую привязки данных библиотеки на студии проекта Android, когда каждый раз, когда я строю, бегать, чистый, восстановление и т.д. Я получаю следующее сообщение об ошибке:Android Data Binding XML Error

: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> 

I получить, какие дубликаты атрибуты, но я не знаю, почему сбой.

Я читал this question, но у меня его нет в моем файле build.gradle.

Любые предложения?

+0

Вы должны использовать Ctrl + K или Cmd + K, чтобы правильно форматировать фрагменты исходного кода. –

ответ

4

Попытка удалить андроида: layout_width и андроид: 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> 
+0

Спасибо, что работает –

+0

Приветственный брок ... –

+0

Да, я не знаю, почему я этого не понял, спасибо –

1

Вот мой отредактированный реальный код:

<?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" 
    > 

Все пространства имен должны быть в внешнем теге макета. Любые удаления не помогли.

+0

«Все пространства имен должны быть во внешнем теге макета» - это правильно. Напротив, ваш проект не будет компилироваться. –