Java 如何正确地从片段返回变量?
情况:Java 如何正确地从片段返回变量?,java,android,android-layout,android-fragments,android-navigation,Java,Android,Android Layout,Android Fragments,Android Navigation,情况: 在按下按钮的第一个片段时,我想打开第二个片段 部分 在第二个片段中,我可以创建新的节(或使用现有的),然后在列表项中创建 单击打开第三个片段 在第三个片段中,我可以编写新服务(或使用现有服务),然后在按钮上 单击返回到第一个片段 和显示部分(来自第二个片段)和服务(来自第三个片段) 碎片) 我的想法是在第二个片段上使用fragment.setArguments(bundle),并将其传输到第三个片段 在带有接口A{public void sendData(data);}的第三个片段上
- 我的想法是在第二个片段上使用
,并将其传输到第三个片段fragment.setArguments(bundle)
- 在带有
的第三个片段上,我将把变量返回到片段一接口A{public void sendData(data);}
fragmentTransaction.add(新FragmentA(),“FragmentA\u标记”)
在第三段加上
FragmentA fback=FragmentManager.findfragmentByTag(“fragment_标签”)
并在backButton方法中写入
if(fback!=null)
{
fback.show;
}
给碎片一个标签
fragmentTransaction.add(新FragmentA(),“FragmentA\u标记”)
在第三段加上
FragmentA fback=FragmentManager.findfragmentByTag(“fragment_标签”)
并在backButton方法中写入
if(fback!=null)
{
fback.show;
}
您可以将片段视为一个函数:它可以从另一个片段调用,并可以返回一个值(使用)
当您希望另一个片段给您一个值时,您可以使用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调用。您可以将您的片段视为一个函数:它可以从另一个片段调用,并且可以返回一个值(使用) 当您希望另一个片段给您一个值时,您可以使用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调用。如何从片段3返回到片段1?如何从片段3返回到片段1?这包含SecondFragment而不是FirstFragment
FragmentA fback=FragmentManager.findfragmentByTag(“FragmentU标记”)
FragmentA的此标记,FragmentB具有不同的标记此包含SecondFragment而不是FirstFragmentFragmentA fback=FragmentManager。findfragmentByTag(“FragmentU标记”)
此标记对于FragmentA,FragmentB具有不同的标记