Android 不在片段中显示表格布局的内容
我在片段中使用tablayout,但当从片段1到片段2再回到片段1时,tablayout的内容不显示 如下图所示: 片段选项卡:Android 不在片段中显示表格布局的内容,android,fragment,Android,Fragment,我在片段中使用tablayout,但当从片段1到片段2再回到片段1时,tablayout的内容不显示 如下图所示: 片段选项卡: public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_chat, container, false
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_chat, container, false);
tabLayout = (TabLayout) view.findViewById(R.id.tablayout_chat);
viewPager = (ViewPager) view.findViewById(R.id.viewpager_chat);
Activity_Main.img_home.setImageDrawable(getResources().getDrawable(R.drawable.home));
Activity_Main.img_chat.setImageDrawable(getResources().getDrawable(R.drawable.s_chat));
Activity_Main.img_setting.setImageDrawable(getResources().getDrawable(R.drawable.setting));
AdapterTab_Chat adapterTab_chat = new AdapterTab_Chat(mcontex.getSupportFragmentManager());
viewPager.setAdapter(adapterTab_chat);
viewPager.setCurrentItem(1);
tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
viewPager.setCurrentItem(tab.getPosition());
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
}
});
return view;
}
@Override
public void onAttach(Context context) {
mcontex = (FragmentActivity) context;
super.onAttach(context);
}
如何修复它?再次创建FragmentManager
......
FragmentManager fragmnetManager=mcontex.getSupportFragmentManager();
AdapterTab_Chat adapterTab_chat = new AdapterTab_Chat(fragmnetManager);
viewPager.setAdapter(adapterTab_chat);
viewPager.setCurrentItem(1);
tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
fragmnetManager=mcontex.getSupportFragmentManager();
viewPager.setCurrentItem(tab.getPosition());
}....
还可以为位置=>CurrentItem(1)中的片段创建新的fragmentManager
使用getChildFragmentManager()
而不是getSupportFragmentManager()
getChildFragmentManager()
到其构造函数
AdapterTab_Chat adapterTab_chat = new AdapterTab_Chat(getChildFragmentManager());
viewPager.setAdapter(adapterTab_chat);
这会将这些片段添加到堆栈中,并在您使用view pager加载片段时再次加载显示您的代码正在尝试什么基于您共享的内容,我会说尝试“Alt+F4”在此发布选项卡布局片段类的代码quickly@2Dee你能再解释一下你的答案吗?@quicklearner肯定的是:如果你在注册和写问题时忘记分享你的代码,尽管有很多提醒,剩下的唯一建议是你退出申请,离开公司。