我的查看器页面有问题,所以在我从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
之间切换后看到的如果您想查看其他任何代码,请告诉我,不确定要在此处发送哪些代码,以及我在此处未分享的原因。
答案 0 :(得分:1)
看起来你正在片段中创建一个ViewPager。
在这种情况下,getFragmentManager()
应为getChildFragmentManager()
。