我正在尝试使用viewpager制作导航抽屉,因为我希望导航抽屉为全屏显示。我已经创建了一个片段并添加到viewpager。从按钮上的导航片段中单击我要打开另一个片段。我添加了一个代码来打开另一个片段,但它使应用程序崩溃。我该怎么做。 我的按钮代码
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.tab2, container, false);
Button btnOpenSlideShow = (Button)v.findViewById(R.id.btnOpenSlideShow);
btnOpenSlideShow.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AllFragment allFragment = new AllFragment();
FragmentManager manager = getFragmentManager();
manager.beginTransaction().replace(R.id.mainLayout,allFragment,allFragment.getTag())
.commit();
}
});
return v;
}
}
答案 0 :(得分:0)
代替getFragmentManager
使用getChildFragmentManager
AllFragment allFragment = new AllFragment();
FragmentManager manager = getChildFragmentManager();
manager.beginTransaction().replace(R.id.mainLayout,allFragment,allFragment.getTag())
.commit();
答案 1 :(得分:0)
使用getSupportFragmentManager()
为FragmentManager manager = getActivity().getSupportFragmentManager();
AllFragment allFragment = new AllFragment();
manager.beginTransaction()
.replace(R.id.frameLayout, allFragment )
.addToBackStack(null)
.attach(myFragment)
.commit();
希望这会有所帮助。