你需要做的是:
在你RecycleView的適配器地說:
private ItemListener mListener;
...
public void setmListener(ItemListener mListener) {
this.mListener = mListener;
}
...
public interface ItemListener {
void onItemSelected(Item item);
}
項目=項目選中
他們... 在適配器的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是一個將InnerClass適配器
他們所有你需要做的是:
在您的片段
mRecycleViewAdapter.setmListener(this)
他們做你的片段:
public class MyFragment extends Fragment implements MyRecycleViewAdapter.ItemListener
,並覆蓋:
@Override
public void onItemSelected(Item item) {
//call addItemsToShoppingCartFromPreviousOrder
}
Here是一個例子, 看到SearchFragment.java和UsersListAdapter.java
如果你想節省您的時間,使用EventBus代替https://github.com/greenrobot/EventBus – kaitian521
稱爲'addItemsToShoppingCartFromPreviousOrder'從事這項工作的方法。我必須知道如何致電或在哪裏致電該方法。例如,在我的片段'onCreateView'上,我添加了'onClickListner'不會無所事事。我不能使用第三方庫。 – Ronan
[片段之間傳遞數據]的可能重複(http://stackoverflow.com/questions/38452210/pass-data-between-fragments) – TapanHP