2012-08-04 108 views
0

我有一个实现onClickListener的片段,然后onClickListener尝试删除片段。删除另一个片段活动中的片段

我在transaction.remove(badFragment);badFragment下得到一条红线。我最好的猜测是因为它无法确定这个片段是什么/它在哪里。

我该如何去寻找这个片段,以便它可以被删除?

我试过findFragmentId(badFragment);但它不起作用。

奖励积分如果你能让我知道你在哪里找到这种方法。由于我不擅长在Android文档中查找内容。

回答

4

你可以找到片段

getFragmentManager().findFragmentById(R.id.fragment_id); 

getFragmentManager().findFragmentByTag("tag"); 

您可以删除片段本身

getActivity().getFragmentManager().beginTransaction().remove(this).commit(); 
+0

谢谢。我的问题是,我从来没有定义坏片段...愚蠢的我。 'Bad_fragment badFragment = new Bad_fragment();'谢谢你的回应! – EGHDK 2012-08-04 21:56:11

+1

对于奖励积分:['findFragmentById'](http://developer.android.com/reference/android/app/FragmentManager.html#findFragmentById(int))+ ['FragmentTransaction'](http:// developer .android.com /参考/机器人/应用/ FragmentTransaction.html#删除(android.app.Fragment))。 – Eric 2012-08-04 21:56:41