2017-09-19 3 views
-1

I DataBinding in Fragmente verwenden, aber es gibt einige Probleme dies das Fragment enter image description here und das ist mein Layoutwie Datenbindung in Fragmente verwenden

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

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

     <TextView 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" /> 

    </LinearLayout> 
</layout> 

wie kann ich dieses Problem beheben?

+0

Try "Clean" und "Make-Projekt" – BenjaminBihr

+0

Was ist das Problem? Erhalten Sie einen Kompilierungsfehler? Erhalten Sie ein Problem mit dem Layout? Gibt es eine Ausnahme während der Ausführung? –

+0

ich gereinigt und Projekt gemacht, es funktioniert.danke allen – jeff

Antwort

1

Sie müssen Ihr Layout in einem layout Tag wickeln:

<layout> 

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

     <TextView 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" /> 

    </LinearLayout> 

<layout> 

außerdem sicher, dass Sie die Datenbindung in Ihrem Moduls build.gradle Datei aktivieren:

dataBinding { 
    enabled true 
} 

Und beachten Sie, dass Sie Ihre verbindliche Variable mit dem Namen inflate, aber Sie verwenden binding.getRoot() in der Return-Anweisung. Benennen Sie Ihre Variable in binding um. Oder ändern Sie Ihre Rückgabebestätigung zu return inflate.getRoot();10, was auch immer Sie bevorzugen.

+0

mein Layout haben die "Layout" -Tag, nur die HTML nicht zeigen – jeff

0

ändern binding.getRoot(), um inflate.getRoot()

+0

binding.getRoot() zurück die richtige Sicht – BenjaminBihr

+0

Dies sollte Antwort schreiben schreiben.Ich weiß nicht, warum der Typ unten gewählt .. zumindest Grund sollte vor der Abstimmung gegeben werden – Anonymous

Verwandte Themen