Reputation: 3
i have three viewpager tab namely question,article and video.i want to go on tabs page and load some data on question tab
@Override
public void onBindViewHolder(final RecyclerViewHolder holder, int position) {
i=position;
String url="https://d1v0zurmr84n8z.cloudfront.net/";
String value=notificationList.get(position).getIs_pic();
holder.name.setText("Raised by:"+notificationList.get(position).getGenerated_by_name());
holder.type.setText("Type:"+notificationList.get(position).getNotification_type());
holder.date.setText("Date:"+notificationList.get(position).getTime());
holder.visit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String classId=notificationList.get(i).getClass_id();
getRetrofit(classId);
/*----i have tried this but this is showing error....R.id.content_classroom is not a vlaid argument
QuestionFragment qf=new QuestionFragment();
FragmentManager fm = ((Home)context).getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.add(R.id.content_classroom, qf);
ft.commit();
*/}
});
these are the fragments loaded in tabs
public void setupViewPager(ViewPager viewPager) {
MyPagerAdapter adapter = new MyPagerAdapter(getSupportFragmentManager());
adapter.addFragment(new QuestionFragment(), FRAGMENT_NAME[0]);
adapter.addFragment(new ArticleFragment(), FRAGMENT_NAME[1]);
adapter.addFragment(new VideoFragment(), FRAGMENT_NAME[2]);
//Set adapter to ViewPager
viewPager.setAdapter(adapter);
}
Upvotes: 0
Views: 1319
Reputation: 6857
create method
in your fragment
public void selectTab(int position) {
mViewPager.setCurrentItem(position);
}
Call this method to select tab.
For question - position 0
,article - position 1
and video - position 2
---- Way to call method from recyclerView
----
Make your adapter class abstract
public abstract class CartAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
// constructor ..
// Other recyclerView methods
// You ViewHolder class
public class CartHolder extends RecyclerView.ViewHolder {
Button mButton;
CartHolder(View itemView) {
super(itemView);
mButton = (Button) itemView.findViewById(R.id.referece_of_view);
mButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
OnButtonClicked();
}
});
}
}
protected abstract void OnButtonClicked();
}
While initializing your adapter,
mAdapter = new CartAdapter(context, mDataSet) {
@Override
protected void OnButtonClicked() {
// Call method selectTab()
}
};
Upvotes: 3