Tôi đang cố gắng làm theo ví dụ liên kết dữ liệu từ tài liệu chính thức của google https://developer.android.com/tools/data-binding/guide.html
ngoại trừ việc tôi đang cố gắng áp dụng dữ liệu vào một đoạn, không phải là một hoạt động.
lỗi tôi hiện đang gặp phải khi biên dịch là
Error:(37, 27) No resource type specified (at 'text' with value '@{marsdata.martianSols}.
onCreate
cho mảnh vỡ trông như thế này:
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
MartianDataBinding binding = MartianDataBinding.inflate(getActivity().getLayoutInflater());
binding.setMarsdata(this);
}
onCreateView
cho mảnh vỡ trông như thế này:
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.martian_data, container, false);
}
và các phần của tệp bố cục của tôi cho đoạn này trông như thế này:
<?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>
nghi ngờ của tôi là MartianDataBinding
không biết tập tin bố trí nào bị ràng buộc với - do đó là lỗi. Bất kỳ đề xuất?