使用查看器页面在两个片段之间切换 - 但是在切换到片段后它会消失

时间:2015-04-12 11:00:12

标签: java android xml android-viewpager

我的查看器页面有问题,所以在我从Fragment扩展的这个java文件中有一些与查看分页器有关的代码。基本上在我的屏幕上,我想让用户向右滑动并向左滑动。它工作正常,但我应该在我正在处理的项目中有其他片段,所以如果我去一个不同的片段并回到这个屏幕让我做这个滑动功能,所有突然一切都消失了屏幕。知道如何解决这个问题??

这是java文件;

public class ExampleFragment extends Fragment {
   View v;
   ViewPager viewPager;
   @Override
   public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {

      final View v =  inflater.inflate(R.layout.tab2_main, container, false);

      viewPager = (ViewPager)v.findViewById(R.id.accountswitching);
      AccountSwitching accountSwitching = new AccountSwitching(getFragmentManager());
      viewPager.setAdapter(accountSwitching);

这是我在AccountSwitching java类中的代码;

public class AccountSwitching extends FragmentPagerAdapter {
public AccountSwitching(FragmentManager fm) {
    super(fm);
}

@Override
public Fragment getItem(int i) {

    switch (i){
        case 0:
            return new FirstPage();
        case 1:
            return new SecondPage();
    }

    return null;
}

@Override
public int getCount() {
    return 2;
}

}

正如你在我在这篇帖子上附上的图片上看到的那样,问好了,我有一个在FirstPage中的onclick。 java文件

第一页。 java文件;

public class FirstPage extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {

    final View v = inflater.inflate(R.layout.home_screenmain_first, container, false);

    v.findViewById(R.id.first).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            android.support.v4.app.FragmentTransaction transaction = getFragmentManager().beginTransaction();
            ((FrameLayout)getActivity().findViewById(android.R.id.tabcontent)).removeAllViews();
            transaction.replace(android.R.id.tabcontent, new ChangeScreen(), "ChangeScreen");
            transaction.commit();
        }
    });

    return v;
}

}

return v;
   }
}

屏幕上显示的内容来自查看器页面,显示在屏幕Example of what I am seeing before switching between fragments

这是我在片段After switching between fragments

之间切换后看到的

如果您想查看其他任何代码,请告诉我,不确定要在此处发送哪些代码,以及我在此处未分享的原因。

1 个答案:

答案 0 :(得分:1)

看起来你正在片段中创建一个ViewPager。

在这种情况下,getFragmentManager()应为getChildFragmentManager()