2016-03-21 5 views
0

Я создал проект Emtpy в Android Studio. Затем я добавил classpath 'com.android.databinding:dataBinder:1.0-rc2' к build.gradle моего проекта и изменить расположение на:Невозможно создать простую привязку данных

<?xml version="1.0" encoding="utf-8"?> 

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

    <data> 
     <variable 
      name="dataSource" 
      type="com.example.demas.db1.DataSource" /> 
    </data> 
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:tools="http://schemas.android.com/tools" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:paddingBottom="@dimen/activity_vertical_margin" 
     android:paddingLeft="@dimen/activity_horizontal_margin" 
     android:paddingRight="@dimen/activity_horizontal_margin" 
     android:paddingTop="@dimen/activity_vertical_margin" 
     tools:context="com.example.demas.db1.MainActivity"> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Hello World!" /> 
    </RelativeLayout> 
</layout> 

Теперь я не могу построить приложение и ВГА ошибку:

03-21 02:19:31.692 6822-6822/com.example.demas.db1 E/AndroidRuntime: FATAL EXCEPTION: main 
                    Process: com.example.demas.db1, PID: 6822 
                    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.demas.db1/com.example.demas.db1.MainActivity}: android.view.InflateException: Binary XML file line #3: Binary XML file line #3: Error inflating class layout 
                     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416) 

Вот мой DataSource класс:

package com.example.demas.db1; 

public class DataSource { 
    private String name; 

    public static DataSource get(String name) { 
     return new DataSource(name); 
    } 

    public DataSource(String name) { 
     this.name = name; 
    } 

    public String getMessage() { 
     return String.format("Hello, %s!", name); 
    } 

} 

Как это исправить?

+0

Вы должны использовать полный путь от имени пакета, чтобы по имени класса в XML, , также вам нужно добавить схему сверху, чтобы использовать пользовательские теги. –

+0

У меня есть полное имя пакета в переменной и относительном макете (я обновил свой вопрос). Или вы имеете в виду что-то другое? – demas

+0

добавьте это '' –

ответ

1

Я установил ошибку, удалив tools:context="com.example.demas.db1.MainActivity" из RelativeLayout

+0

О, о, я думал, что в это время. Счастливо услышать, что ты это исправишь. Двигайся вперед. –

Смежные вопросы