1. ?在布局文件中:?
<data>
? ? ? ? name="presenter"
? ? ? ? type="com.xogrp.planner.user.contract.UserProfileContract.Presenter" />
</data>
<androidx.appcompat.widget.AppCompatImageView
? ? android:id="@+id/iv_cover_photo"
? ? android:layout_width="0dp"
? ? android:layout_height="0dp"
? ? android:importantForAccessibility="no"
? ? android:onClick="@{()->handlers.showEditPhotoDialog()}"
? ? android:contentDescription="@string/content_description_edit_photo"
? ? android:scaleType="centerCrop"
? ? android:src="@drawable/tk_big_placeholder"
? ? app:couplePhoto="@{viewModel.couplePhotoUrl}"
? ? app:layout_constraintDimensionRatio="1:1"
? ? app:layout_constraintEnd_toEndOf="parent"
? ? app:layout_constraintStart_toStartOf="parent"
? ? app:layout_constraintTop_toTopOf="parent" />
2. 在Fragment 文件中:
override fun onPlannerCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View {
? ?Timber.tag(LIFECYCLE_TAG).d("UserProfileFragment.onPlannerCreateView $savedInstanceState")
? ?mViewModel = UserProfileViewModel(user)
? ? mDataBinding = DataBindingUtil.inflate(inflater, getLayoutRes(), container, false)
? ? mDataBinding.viewModel =mViewModel
? ? mDataBinding.presenter =mPresenter
? ? mDataBinding.handlers = Handlers()
? ? if (savedInstanceState !=null) {
? ? ? ? ?mViewModel.memberPayload =savedInstanceState.getSerializable(KEY_PAYLOAD)as MemberPayload?
? ? ? ? ? ? ??: MemberPayload()
? ? }
? ? ?return mDataBinding.root
}