2016-06-11 22 views
1

私は、私のAndroidアプリにデータバインディングを実装しようとしているが、私はこの問題にこだわっている:アンドロイドデータバインディング - クラスを見つけることができませんandroid.view.data

java.lang.ClassNotFoundException: Didn't find class "android.view.data"

マイレイアウトファイルは次のようになります:

<layout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools"> 
    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical" 
     tools:context="com.myapp.views.fragments.LocationSearchFragment"> 

     <!-- data setup --> 
     <data> 
      <variable name="location" 
       type="com.myapp.models.Address" /> 
     </data> 
    </LinearLayout> 
</layout> 

私は次の行で私のbuild.gradleファイルを更新:

dataBinding { 
    enabled = true 
} 

ドキュメントの示唆:https://developer.android.com/topic/libraries/data-binding/index.html。私はAndroid Studioの最新バージョンを実行しています。あなたのLinearLayoutの外にあなたのdata定義を配置する必要があり

答えて

1

<layout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools"> 
    <!-- data setup --> 
    <data> 
     <variable name="location" 
      type="com.myapp.models.Address" /> 
    </data> 
    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical" 
     tools:context="com.myapp.views.fragments.LocationSearchFragment"> 
    </LinearLayout> 
</layout> 
1

データバインディングは<LinearLayout>になることはありません。次のように<layout>ゾーンに配置する必要があります。

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


    <!-- data setup --> 
    <data> 
     <variable name="location" 
      type="com.myapp.models.Address" /> 
    </data> 
<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    tools:context="com.myapp.views.fragments.LocationSearchFragment"> 

</LinearLayout> 
</layout> 
関連する問題