如何将数据从recyclerview中的单击项传递到ViewModel并打开新活动?

时间:2018-11-06 18:35:53

标签: android android-databinding android-mvvm

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

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

1 个答案:

答案 0 :(得分:0)

使用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