我想在RecyclerView中点击一行时返回上一个片段。那么如何在我的适配器中调用该函数呢?
@Override
public void onBindViewHolder(final CountryViewHolder holder, int position) {
String country = countries.get(position);
holder.tvCountrySelection.setText(country);
holder.tvCountrySelection.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
holder.tvCountrySelection.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.ic_tick_17, 0);
//I want to run popBackStack() here and send String country to previous fragment.
}
});
}
答案 0 :(得分:2)
通过适配器构造函数传递活动上下文
来自片段
new YourAdaptor(getActivity())
来自活动
new YourAdaptor(this)
处理适配器类中的上下文
globalinstance = passedContext;
使用该上下文,您可以在点击事件中弹出片段,如
((YourActivity)context).getSupportFragmentManager().popBackStackImmediate();
答案 1 :(得分:2)