0
私はAndroid StudioでEmtpy Projectを作成しました。簡単なデータバインディングを作成できません
<?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>
は、今私は、エラーをアプリケーションを構築し、肝炎することはできません:次の私は私のプロジェクトのbuild.gradleとにレイアウトを変更するclasspath 'com.android.databinding:dataBinder:1.0-rc2'
を追加した
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);
}
}
どうすれば修正できますか?
から
tools:context="com.example.demas.db1.MainActivity"
を除去することによって、エラーを修正し、カスタムタグを使用するには、最上部にスキーマを追加する必要もあります。 –私は変数と相対レイアウトに完全なパッケージ名を持っています(私は自分の質問を更新しました)。それとも違う意味ですか? – demas
これを追加する' –