【发布时间】:2016-08-09 09:26:03
【问题描述】:
我是 android 应用程序开发的新手,我目前正在开发一个具有带有 TabBarLayout 的 NavigationDrawer 的项目。 我的问题是我有一个由两个按钮登录和注册组成的片段:
lgn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
fragmentManager=getActivity().getSupportFragmentManager();
fragmentTransaction=fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.containerView,new TabFragment()).addToBackStack(null).commit();
}
});
rgst.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
fragmentManager=getActivity().getSupportFragmentManager();
fragmentTransaction=fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.containerView,new TabFragment()).addToBackStack(null).commit();
}
});
现在如果我点击登录或注册按钮标签栏布局打开。 现在我希望如果我点击登录按钮,登录片段显示在标签栏布局中,如果我点击注册按钮,注册片段在标签栏中打开。
我也在谷歌上搜索并找到viewpager.setCurrentItem但我无法使用它来满足我的要求
我是这样用的
public class TabFragment extends Fragment {
public static TabLayout tabLayout;
public static ViewPager viewPager;
public static int int_items = 2 ;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View x=inflater.inflate(R.layout.tab_layout,null);
tabLayout=(TabLayout)x.findViewById(R.id.tabs);
viewPager=(ViewPager)x.findViewById(R.id.viewpager);
viewPager.setAdapter(new MyAdapter(getChildFragmentManager()));
viewPager.setCurrentItem(1); //here i am unable to decide how to open specific fragment
tabLayout.post(new Runnable() {
@Override
public void run() {
tabLayout.setupWithViewPager(viewPager);
}
});
return x;
}
class MyAdapter extends FragmentPagerAdapter{
public MyAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
switch (position)
{
case 0: return new Login();
case 1: return new Registration();
}
return null;
}
@Override
public int getCount() {
return int_items;
}
@Override
public CharSequence getPageTitle(int position) {
switch (position)
{
case 0:
return "Login";
case 1:
return "Registration";
}
return null;
}
}
请提示我这样做的一些逻辑...提前谢谢...
【问题讨论】:
标签: android android-layout android-fragments android-viewpager navigation-drawer