Ich versuche, Datenbindung Beispiel von offiziellen google doc https://developer.android.com/tools/data-binding/guide.htmlSo verwenden Sie Datenbindung mit Fragmente
außer zu folgen, dass ich versuche, Daten-Abwarten auf ein Fragment anzuwenden, keine Tätigkeit.
die Fehler, die ich zur Zeit bin immer wenn kompiliert
Error:(37, 27) No resource type specified (at 'text' with value '@{marsdata.martianSols}.
onCreate
für Fragment wie folgt aussieht:
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
MartianDataBinding binding = MartianDataBinding.inflate(getActivity().getLayoutInflater());
binding.setMarsdata(this);
}
onCreateView
für Fragment wie folgt aussieht:
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.martian_data, container, false);
}
und Teil s meiner Layout-Datei für Fragment sieht wie folgt aus:
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable
name="marsdata"
type="uk.co.darkruby.app.myapp.MarsDataProvider" />
</data>
...
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="@{marsdata.martianSols}"
/>
</RelativeLayout>
</layout>
mein Verdacht ist, dass MartianDataBinding
nicht weiß, welche Layout-Datei es soll mit gebunden sein - also den Fehler. Irgendwelche Vorschläge?
das ist genau die Lösung, die ich zu mir selbst kam, nachdem ich damit herumgespielt habe, hat die Antwort hier nie gepostet, danke! Sie bekommen die Zecke! –
Ich musste den Aufruf zu Super hinzufügen, um meine Binding-Klasse generieren zu lassen. –
Wow. Ich hatte zwei Tage lang mit meinem Kopf zu kämpfen, bis ich deine Antwort @hdioui abdeljalil sah. Vielen Dank!! –