gpt4 book ai didi

android - fragment 通信 - fragment 到 fragment

转载 作者:行者123 更新时间:2023-11-30 01:10:11 37 4
gpt4 key购买 nike

我需要帮助来理解以下场景的工作原理以及如何实现结果。

我有一个名为 ShoppingCart 的类。它有一个名为 addItemsToShoppingCartFromPreviousOrder 的方法。现在我有一个名为 PreviousOrderFragment 的 fragment ,该 fragment 使用 onCreateView 方法,该方法使用 RecyclerView。它是以前订单的列表。我有多个列表。现在我想知道如何将 ShoppingCart 中的 addItemsToShoppingCartFromPreviousOrder 方法调用到我的 fragment 中。这样当用户点击列表时,它就会添加到购物车。

最佳答案

你需要这样做:

在你的 RecycleView Adapter 中放置:

  private ItemListener mListener;
...
public void setmListener(ItemListener mListener) {
this.mListener = mListener;
}
...
public interface ItemListener {
void onItemSelected(Item item);
}

Item = 选择的项目

他们...在您的 Adapter ViewHolder 中放置:

 public class Holder extends RecyclerView.ViewHolder implements View.OnClickListener {

public TextView tv_id;
public TextView tv_url;
public TextView tv_login;

public Holder (View itemView) {
super(itemView);
tv_id = (TextView) itemView.findViewById(R.id.tv_id);
tv_url = (TextView) itemView.findViewById(R.id.tv_url);
tv_login = (TextView) itemView.findViewById(R.id.tv_login);

itemView.setOnClickListener(this);
}

@Override
public void onClick(View v) {
if (mListener != null) {
Integer position = Integer.valueOf(getLayoutPosition());
mListener.onUserSelected(mList.get(position));
}
}
}

OBS:那个ViewHolder是Adapter的一个InnerClass

你需要做的就是:

在你的 fragment 中

mRecycleViewAdapter.setmListener(this)

他们制作你的 fragment :

public class MyFragment extends Fragment implements MyRecycleViewAdapter.ItemListener

并覆盖:

 @Override
public void onItemSelected(Item item) {
//call addItemsToShoppingCartFromPreviousOrder
}

Here是一个例子,见SearchFragment.javaUsersListAdapter.java

关于android - fragment 通信 - fragment 到 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38502762/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com