如何处理MVVM模式和数据绑定中的适配器行点击?

时间:2018-10-29 07:35:57

标签: android mvvm android-recyclerview android-databinding

在我的recyclerview适配器单元布局中,我将演示者作为绑定传递并调用

android:onClick="@{(view) -> mainPresenter.showDetail(booksItem)}" 

从我的布局XML触发演示者中的showDetails方法。

但是有人告诉我,不应在数据绑定中传递演示者。是否有没有通过演示者的有效原因,以及在行单元格上绑定单击操作的替代方法是什么?

<layout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools">

    <data>

        <import type="android.view.View" />

        <variable
            name="mainPresenter"
            type="com.noisyninja.androidlistpoc.views.main.IMainPresenter" />

        <variable
            name="booksItem"
            type="com.noisyninja.androidlistpoc.model.skoobe.BooksItem" />
    </data>

    <androidx.cardview.widget.CardView
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <androidx.constraintlayout.widget.ConstraintLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:onClick="@{(view) -> mainPresenter.showDetail(booksItem)}"
            android:padding="@dimen/text_margin">

0 个答案:

没有答案