Ich verwende Datenbindung, um die Layouts in meiner Android-App zu binden.Die Inflate-Methode für meine Bindung wurde nicht gefunden (mit Android, Datenbindung.)
Ich habe mein Layout (my_custom.xml) eingerichtet und die Bindungsklasse generiert (MyCustomBinding), aber Android Studio scheint die .inflate (...) Methode der Binding-Klasse nicht sofort zu finden, Markierung es ist ein Fehler (roter Text!).
Der Code scheint jedoch korrekt zu sein, da es kompiliert und genau in ein APK erstellt.
Wie bekomme ich Android Studio zur korrekten Aktualisierung?
Code-Beispiel:
Dies ist meine benutzerdefinierte Ansicht Code:
public class MyCustomView extends FrameLayout {
public MyCustomView(Context context) {
this(context, null, 0);
}
public MyCustomView(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
public MyCustomView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
MyCustomBinding binding = MyCustomBinding.inflate(inflater, this, true);
binding.aButton.setText("Whatever");
}
}
Layout ist wie folgt definiert:
<?xml version="1.0" encoding="utf-8"?>
<layout
xmlns:android="http://schemas.android.com/apk/res/android">
<data>
</data>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<TextView
android:id="@+id/a_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Click me!"
android:padding="10dp"
android:background="#000"
android:textColor="#fff"
android:layout_gravity="center"
/>
</FrameLayout>
</layout>
posten Sie bitte Ihren Code. Verwenden Sie Aktivität oder Fragment? –
Post "MyCutomBinding" Klassencode. –
Das scheint mir ein Fehler in Android Studio 2.2 zu sein. Ich verwende Datenbindung ohne dieses Problem seit Monaten, bis ich heute ein Upgrade durchgeführt habe, und jetzt sehe ich es auch. Es gibt einen [Fehlerbericht] (https://code.google.com/p/android/issues/detail?id=222194), wenn Sie ihm folgen möchten. –