我如何以编程方式找到FragmentActivity当前显示的片段?

时间:2013-05-03 11:54:38

标签: android android-fragments

我需要找到FragmentActivity当前显示的片段。

或者,我需要找到实现给定接口的Fragment。

    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
    if (EditorInfo.IME_ACTION_DONE == actionId) {
        // Return input text to fragment
        AdjustPricesDialogListener fragment = (AdjustPricesDialogListener) ??? // how do I find this fragment?

我如何做到这一点?

2 个答案:

答案 0 :(得分:0)

您可以在FragmentManager上调用findFragmentById()并确定显示哪个片段。

答案 1 :(得分:0)

您必须使用片段管理器。

有两种方法:

findFragmentByTag和findFragmentById

如果您将片段推入布局,则可以通过布局ID引用它。

标签可以为null或由程序员设置。

您还可以遍历片段管理器的堆栈。

获取SupportFragmentManager,在FragmentActivity中写入:

getSupportFragmentManager()