【发布时间】:2017-03-16 11:02:41
【问题描述】:
我正在开发一个应用程序,在该应用程序中添加了一个带有选项卡的导航抽屉。因此,对于 Navigation Drawer 菜单选项,我为每个选项创建了一个片段,并且效果很好......
在我的主要活动中,我将TabFragment(包含fragment_1 或fragment_2)膨胀为UI,并且在Fragment_1 上有一个按钮,当我单击该按钮时,我想打开导航抽屉片段... .
我的导航抽屉片段打开正常,但问题是当我的导航抽屉片段打开时,我的titleBar 不会根据片段标题更改...
注意:我知道当我们打开一个片段时,我们必须将片段视图替换为新的片段视图,但我想将片段作为活动打开
图片1:当我单击Button 时,会出现第二张图片,但我想更改TitleView 并删除Navigation drawer 图标。
编辑
在我的 MainActivity 中,我将 Tabfragment 膨胀为
mFragmentTransaction=mFragmentManager.beginTransaction();
mFragmentTransaction.replace(R.id.containerView, new TabFragment()).commit();
我的标签片段:
public class TabFragment extends Fragment {
public TabFragment() {
// Required empty public constructor
}
public static TabLayout tabLayout;
public static ViewPager viewPager;
public static int int_items = 2 ;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View x=inflater.inflate(R.layout.content_main_menu,null);
tabLayout=(TabLayout) x.findViewById(R.id.tabs);
viewPager =(ViewPager) x.findViewById(R.id.viewpager);
viewPager.setAdapter(new MyAdapter(getChildFragmentManager()));
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 HomeFragment();
case 1:
return new Offers();
}
return null;
}
@Override
public int getCount() {
return int_items;
}
@Override
public CharSequence getPageTitle(int position) {
switch (position){
case 0 :
return "Home";
case 1:
return "Offers";
}
return null;
}
}
}
在按钮上点击HomeFragment(或fragment_1)
Fragment fragment = new NavigationDrawerFragment();
FragmentManager fragmentManager = getActivity().getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.containerView, fragment);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
【问题讨论】:
-
提供您的代码,以便有人可以提供帮助。
-
请检查更新的问题'
标签: android android-layout android-fragments navigation