我正在使用ViewPager创建滑动屏幕,我在FragmentActivity中使用滑动显示两个片段。请考虑以下代码:
Fragment_One.java
1.0
2.Fragment_Two.java
public class Fragment_One extends Fragment {
private Button btnNext;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_one,null);
btnNext = (Button) v.findViewById(R.id.btnNext);
btnNext.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Fragment fragment = new Fragment_Two();
FragmentManager fragmentManager = getActivity().getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.fragmentOne,fragment);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
}
});
return v;
}
}
第3。 PagerAdapter.java
public class Fragment_Two extends Fragment {
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_two,null);
}
}
4.MainActivity.java
public class PagerAdapter extends FragmentPagerAdapter {
List<Fragment> listFragments ;
public PagerAdapter(FragmentManager fm,List<Fragment> listFragments) {
super(fm);
this.listFragments = listFragments;
}
@Override
public Fragment getItem(int i) {
return listFragments.get(i);
}
@Override
public int getCount() {
return listFragments.size();
}
}
上面提到的代码在刷屏幕时工作正常。但是我点击下一个按钮,片段被另一个替换,但显示在同一个屏幕上。我无法解决问题。屏幕截图如下:
下一个按钮应该与我们刷屏幕的方式相同。请帮我解决问题。
答案 0 :(得分:1)
不会更容易使用:
{{1}}