2016-05-31 78 views
0

我有一个Activity可以打开一个画廊,为了显示它我已经创建了一个Fragment子类,在其中我做了所有的定制。如何从片段本身中删除片段

我现在面临的问题是,我不能删除Fragment以关闭库..我已经试过如下:

closeGallery.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       getActivity().getFragmentManager().popBackStack(); 
      } 
     }); 

但它不会删除FragmentActivity。代码有什么问题?我是否错过了某些东西以便能够删除Fragment

如果它可以帮助这里就是我如何添加FragmentActivity

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(); 
+0

您尝试打开系统库或图库 - 您自己的实现? –

+0

@ssh这是我自己的实现,它显示从webservice – Signo

+0

下载的图像哦。我知道了。尝试添加'addToBackStack(null)' –

回答

2

你错过添加到后退堆栈。

FragmentTransaction ft = getFragmentManager().beginTransaction(); 
ft.add(frame.getId(), newFragment).addToBackStack(null).commit(); 
+0

是的,它的工作原理!非常感谢:)我会尽快接受 – Signo

+0

@Signo没有问题:) –