RecyclerView
içinde ilk öğe olarak ViewPager
var. FragmentStatePagerAdapter
onBindViewHolder()
yönteminin içine viewpager
ayarlamak istiyorum. Ama getsupportfragmentmanager()
'u arayamıyorum. Lütfen yardım !! Eğer yapıcı adaptöre bağlamı geçmek zorundaadaptör sınıfından getsupportfragmentmanager() nasıl çağırılır?
public class CustomListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
private Context context;
private List<RowItem> rowItemList;
private final int VIEW_TYPE_CUSTOM = 0;
private final int VIEW_TYPE_NORMAL = 1;
NewPagerAdapter mCustomPagerAdapter;
public CustomListAdapter(Context context, List<RowItem> rowItemList) {
this.context = context;
this.rowItemList = rowItemList;
}
@Override
public int getItemViewType(int position) {
if (position == 0)
return VIEW_TYPE_CUSTOM;
else
return VIEW_TYPE_NORMAL;
}
@Override
public int getItemCount() {
return rowItemList.size()+1;
}
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
switch (getItemViewType(position)) {
case VIEW_TYPE_CUSTOM:
recViewHolder1 viewHolderSecond = (recViewHolder1) holder;
mCustomPagerAdapter = new NewPagerAdapter(getSupportFragmentManager());
viewHolderSecond.vPager.setAdapter(mCustomPagerAdapter);
break;
case VIEW_TYPE_NORMAL:
recViewHolder2 viewHolderFirst = (recViewHolder2) holder;
RowItem rowItem = rowItemList.get(position-1);
viewHolderFirst.vName.setText(rowItem.getName());
viewHolderFirst.vImage.setImageResource(rowItem.getImageId());
break;
}
}
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
switch (viewType) {
case VIEW_TYPE_CUSTOM:
View itemView = LayoutInflater.
from(parent.getContext()).
inflate(R.layout.pagerlayout, parent, false);
return new recViewHolder1(itemView);
case VIEW_TYPE_NORMAL:
View itemView1 = LayoutInflater.
from(parent.getContext()).
inflate(R.layout.rowlayout, parent, false);
return new recViewHolder2(itemView1);
}
return null;
}
@Override
public long getItemId(int position) {
return super.getItemId(position);
}
public static class recViewHolder1 extends RecyclerView.ViewHolder {
protected static ViewPager vPager;
public recViewHolder1(View v) {
super(v);
vPager = (ViewPager) v.findViewById(R.id.vPager);
}
}
public class recViewHolder2 extends RecyclerView.ViewHolder implements View.OnClickListener {
protected TextView vName;
protected ImageView vImage;
public recViewHolder2(View v) {
super(v);
v.setOnClickListener(this);
vName = (TextView) v.findViewById(R.id.vName);
vImage = (ImageView) v.findViewById(R.id.vImage);
} } }
/Fragment –