Reputation: 71
I have created a TabLayout using ViewPager. I have four fragments.
private void setupViewPager(ViewPager viewPager) {
ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
adapter.addFragment(new AdminFragment(), "Admin Posts");
adapter.addFragment(new MemberFragment(), "Member Posts");
adapter.addFragment(new JoinFragment(), "Our Members");
adapter.addFragment(new WebFragment(), "Our Website");
viewPager.setAdapter(adapter);
}
How can I know which fragment the user is in from the parent activity.
public class AdminFragment extends Fragment{
public AdminFragment() {
// Required empty public constructor
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_admin, container, false);
}
}
Upvotes: 1
Views: 65
Reputation: 180
This method will return name of fragment user currently viewing.
public String returnCurrentFragmentName(){
int position = viewPager.getCurrentItem();
switch (position) {
case 0:
//fragment is
return "AdminFragment";
case 1:
//fragment is
return "MemberFragment";
case 2:
//fragment is
return "JoinFragment";
case 3:
//fragment is
return "WebFragment";
default:
return null;
}
Best of luck.
Upvotes: 2
Reputation: 61
You can always use viewPager.getCurrentItem() to get the index of the current viewed item ... I hope this helps.
Upvotes: 0
Reputation: 272
In your parent activity do this
MyFragment myFragment = (MyFragment)getFragmentManager().findFragmentByTag("Admin Posts");
if (myFragment != null && myFragment.isVisible()) {
// add your code here
}
Upvotes: 0
Reputation: 1291
You can add addOnPageChangeListener
to know when a page is changed and use onPageSelected
to know which page is currently being selected by user.
If you need to know without page change on some specific event, you can use viewPager.getCurrentItem()
to know which page is selected.
Upvotes: 0