从 RecyclerView 适配器更新 Activity 或 Fragment 的视图
Updating views of Activity or Fragment from a RecyclerView adapter
我正在尝试更新位于 activity 中的 TextView 中的文本,以在从 RecyclerView 中删除项目时显示总价。但是如何从适配器更新属于 activity 的视图?
这是解决方案。
创建一个名为 ItemsInteractionListener
的 public 接口,它有一个方法
void onTotalPriceChanged(double newPrice);
内部适配器
在适配器内部创建一个名为mListener
的接口对象
为mListener
创建publicsetter
创建一个名为 double getTotalPrice()
的私有方法,用于计算列表中的总价。
在 activity 中实施 ItemsInteractionListener
。
在 void onTotalPriceChanged(double newPrice);
中,将新价格设置到 TextView。
创建适配器后,通过调用您之前在步骤 3 中创建的 setter 将侦听器设置为 this
。
每当发生更改时,在适配器内部调用 mListener.onTotalPriceChanged(newPrice);
。即,添加或删除项目时。
我正在尝试更新位于 activity 中的 TextView 中的文本,以在从 RecyclerView 中删除项目时显示总价。但是如何从适配器更新属于 activity 的视图?
这是解决方案。
创建一个名为
ItemsInteractionListener
的 public 接口,它有一个方法void onTotalPriceChanged(double newPrice);
内部适配器在适配器内部创建一个名为
mListener
的接口对象为
mListener
创建publicsetter
创建一个名为
double getTotalPrice()
的私有方法,用于计算列表中的总价。在 activity 中实施
ItemsInteractionListener
。 在void onTotalPriceChanged(double newPrice);
中,将新价格设置到 TextView。创建适配器后,通过调用您之前在步骤 3 中创建的 setter 将侦听器设置为
this
。每当发生更改时,在适配器内部调用
mListener.onTotalPriceChanged(newPrice);
。即,添加或删除项目时。