获取当前的片段

时间:2012-07-17 21:17:51

标签: android android-fragments

在DialogFragment中我有一个Listener,我在其中使用回调,如:

OnDoneListener caller = (OnDoneListener)getActivity(); 
caller.done();   

但是,我不想在FragmentActivity中实现OnDoneListener,而是想在Fragment中实现它。因此,我正在寻找类似的东西:

OnDoneListener caller = (OnDoneListener)getFragmentManager().getFragment(); //made up

我找到了findFragmentById()或者findFragmentByTag(),但我希望它更通用......或者我如何获得Id或Tag?我可以从容器或父母那里得到它吗?

修改 只是为了说清楚。我的DialogFragment应尽可能重用。因此,我不想要任何硬编码ID和TAG。我只想引用我的父(调用)Fragment,它需要实现OnDoneListener。

1 个答案:

答案 0 :(得分:3)

我自己找到了解决方案:

CallerFragment:

mCalledFragment = new CalledFragment();
mCalledFragment.setTargetFragment(this, 0);

CalledFragment:

CallerFragment caller = (CallerFragment)getTargetFragment();
caller.callback();