我在我的项目中使用导航抽屉,里面有5个片段.在一个片段中,我在设计支持库中引入了TabLayout,其中包括2个片段.一切正常,除非我离开具有TabLayout的片段并切换回它,所有内容都消失了.
在TabLayout的每个片段中,我有一个带有ListView的SwipeRefreshLayout,它们都不会在切换时显示任何内容.
我也注意到TabLayout开始表现得很奇怪.奇怪的是我的意思是白色指示器开始跳跃,你可以把它仍然保持在两个标签的中间......
所以我错过了TabLayout行为如此奇怪的事情吗?
这里的代码:包含TabLayout的片段:
public class MainFragment extends Fragment {
private static String locale;
private static ViewPager viewPager;
private static TabLayout tabLayout;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
Utils.changeLanguage(getActivity());
final Context contextThemeWrapper = new ContextThemeWrapper(getActivity(), R.style.MyStyle);
LayoutInflater localInflater = inflater.cloneInContext(contextThemeWrapper);
View view = localInflater.inflate(R.layout.fragment1, container, false);
viewPager = (ViewPager) view.findViewById(R.id.viewpager);
tabLayout = (TabLayout) view.findViewById(R.id.tabs);
return view;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
setupViewPager(viewPager);
tabLayout.setupWithViewPager(viewPager);
}
private void setupViewPager(ViewPager viewPager) {
LinesTabsAdapter adapter = …Run Code Online (Sandbox Code Playgroud) android listview android-fragments android-design-library android-tablayout
嗨我在片段中有一个TabLayout和ViewPager.但是我不能在tab之间滑动来到子片段(在Activity中正常工作但在片段中不起作用).
这是我的Tablayout内部片段的代码:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View inflateView = inflater.inflate(R.layout.fragment_assign_beacon_to_event, container, false);
//Viewpager and TabLayout
viewPager = (ViewPager)inflateView.findViewById(R.id.viewPager);
viewPager.setAdapter(new CustomAdapter(getFragmentManager(), getContext()));
tabLayout = (TabLayout)inflateView.findViewById(R.id.tabLayout);
// Inflate the layout for this fragment
return inflateView;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
tabLayout.post(new Runnable() {
@Override
public void run() {
tabLayout.setupWithViewPager(viewPager);
}
});
tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
viewPager.setCurrentItem(tab.getPosition());
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
viewPager.setCurrentItem(tab.getPosition());
}
@Override
public void …Run Code Online (Sandbox Code Playgroud) android android-fragments android-viewpager android-tablayout