【问题标题】:How to pass data from clicked item in recyclerview to viewmodel and open new activity?如何将数据从 recyclerview 中的单击项目传递到 viewmodel 并打开新活动?
【发布时间】:2018-11-06 18:35:52
【问题描述】:

正如我所写,我正在寻找解决该问题的方法。如何在 Android 中的 MVVM 中正确传递文本和 id 单击项目到 ViewModel 并打开新活动?

新活动是项目的详细信息。因此,当我单击项目时,我想显示带有来自单击项目的数据的新活动,并且我需要项目 ID 来编辑项目中的对象。

【问题讨论】:

标签: android android-databinding android-mvvm


【解决方案1】:

使用 RecyclerView.Adapter 填充数据,实现 OnClickListener 到 viewHolder。

在 onClick 方法(被覆盖)中,您可以键入代码来启动新活动, 假设您有名为 Test 的模型类和名为 testList 的数组列表。那么:

Intent intent = new Intent(mContext, DetailActivity.class);
intent.putExtra(KEY, testList.get(getAdapterPosition()));
mContext.startActivity(intent);

注意getAdapterPosition()会返回你点击的位置,mContext是上下文传递给适配器的。

您将需要您的模型类来实现 Parcelable 以允许模型在活动之间传输。 https://developer.android.com/guide/components/activities/parcelables-and-bundles

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-24
    • 1970-01-01
    • 2021-01-12
    • 1970-01-01
    相关资源
    最近更新 更多