我使用ViewPager创建了一个TabLayout。我有四个片段。
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);
}
如何从父活动中了解用户所在的片段。
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);
}
}
答案 0 :(得分:1)
此方法将返回当前正在查看的片段用户的名称。
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;
}
祝你好运。
答案 1 :(得分:0)
您可以添加addOnPageChangeListener
以了解网页何时更改,并使用onPageSelected
了解用户当前正在选择哪个网页。
如果您需要知道某些特定事件没有更改页面,您可以使用viewPager.getCurrentItem()
来了解所选的页面。
答案 2 :(得分:0)
在您的父活动中执行此操作
MyFragment myFragment = (MyFragment)getFragmentManager().findFragmentByTag("Admin Posts");
if (myFragment != null && myFragment.isVisible()) {
// add your code here
}
答案 3 :(得分:0)
您始终可以使用viewPager.getCurrentItem()来获取当前查看项目的索引...我希望这会有所帮助。