当前位置: 首页 > 知识库问答 >
问题:

如何正确地从片段返回变量?

景永望
2023-03-14

情况:

>

  • 在按钮上的第一个片段,我想打开带有部分的第二个片段
  • 在第二个片段上,我可以创建新部分(或使用已存在的),然后在列表项上单击打开第三个片段
  • 在第三个片段上,我可以编写新服务(或使用已存在的服务),然后单击按钮返回第一个片段
  • 并显示部分(来自第二个片段)和服务(来自第三个片段)

    • 我的想法是使用片段。在第二个片段上设置参数(bundle),并将其传输到第三个片段

    我应该如何正确地将变量从AllServicesSectionFragmnet AllServicedDescriptionFragment返回到CreateNewServiceFragment?

  • 共有2个答案

    刁丰羽
    2023-03-14

    您可以将片段视为一个函数:它可以从另一个片段调用,并可以返回一个值(使用setTargetFragment和onActivityResult)。

    当您希望另一个片段给您一个值时,可以使用setTargetFragment调用它,并等待调用onActivityResult。当被调用的片段打开另一个片段以完成其任务时,它还应该等待onActivityResult并向调用者返回一个值。

    所以,伪代码:

    fn fragment1() {
        handleData(call fragment2(arg));
    }
    
    fn fragment2(arg: T) -> U {
        return handle(call fragment3(arg));
    }
    
    fn fragment3(arg: T) -> U {
        // handle some user input
        return value;
    }
    

    可以表示为一系列setTargetFragment和onActivityResult调用。

    东郭源
    2023-03-14

    给fragmentA添加标签

    <代码>碎片事务。添加(new FragmentA(),“frag\u标记”)

    并在第三段中加上

    FragmentA fback=碎片管理器。findfragmentByTag(“frag\u Tag”)

    并在backButton方法中写入

    if(fback!=null){fback.show;}

     类似资料:
    • 我在活动C中有四个片段,它们的行为就像标签一样。我必须从一个片段转到一个新的活动X。现在我想回到从活动X到片段的片段。 这是我的主要活动 '公共类MainInterface扩展了ActionBarActivity{ } ' 下面是活动视图中的公共类讨论。onclick侦听器{ ###

    • 我有4个片段,其中一个片段中有一个viewpager和一个不同的类,我用3个其他片段定义了viewpager的适配器,第一次打开此片段时,所有子片段都正确显示在viewpager中,但当我切换(使用transaction.replace)到另一个片段并再次返回时,子片段消失了,我不能使用ChildFragmentManager,因为它在代码中显示错误(ChildFragmentManager无法解

    • 我正在建立一个简单的应用程序,我想从片段回到物理按钮的活动。我该怎么做?我试图杀死碎片,但它不起作用。

    • 问题内容: 在代码中 和功能get_info: 在更大的范围内 关于返回mysql数据并将其分配给变量,我缺少什么? =============根据Alex建议的新代码 ====正在使用新代码 然而 在函数外部的作用域中,parent_id为null 问题答案: 您将需要使用javascript进行异步调用和回调,这不是c#/ php等。 这是使用您的代码的示例: 当您依次调用此函数时,将调用co

    • 问题内容: 我想在JNI中对16字节数组进行硬编码,并使用方法将其返回。 这不行 我收到以下错误 NativeCodeCaller.cpp:214:17:错误:’->’的基本操作数具有非指针类型’_JNIEnv’ NativeCodeCaller.cpp:215:78:警告:扩展的初始化程序列表仅在-std = c 0x或-std = gnu 0x时可用 NativeCodeCaller.cpp:

    • 我正在开发一个android应用程序,它有一个活动。该活动有一个ViewPager,它使用FragmentStatePagerAdapter加载两个片段。 正在活动的onResume方法上重新创建此适配器。 那是内存溢出错误吗?为什么getActivity()方法在片段似乎被正确加载的情况下返回null? 提前谢谢你