我有一个Activity
,它可以打开一个画廊,为了显示它,我创建了一个Fragment
子类,在其中进行所有自定义.
我面临的问题是我无法删除Fragment
以关闭图库。我尝试过以下方法:
closeGallery.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
getActivity().getFragmentManager().popBackStack();
}
});
但它不会从 Activity
中删除 Fragment
。代码有什么问题吗?为了能够删除 Fragment
,我是否遗漏了某些内容?
如果它可以帮助的话,这是我将 Fragment
添加到 Activity
的方法:
frame = new FrameLayout(NewsDetailsActivity.this);
frame.setId(R.id.galleryFragment);
setContentView(frame, new FrameLayout.LayoutParams(
FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT));
Bundle bundle = new Bundle();
bundle.putString("gallery", newsDetails.gallery.toString());
Fragment newFragment = new GalleryFragment();
newFragment.setArguments(bundle);
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.add(frame.getId(), newFragment).commit();
最佳答案
您错过了添加到后堆栈。
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.add(frame.getId(), newFragment).addToBackStack(null).commit();
关于java - 如何从 fragment 本身中删除 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37548281/