android – 将数据从当前片段传回到先前的片段
作者:互联网
我在我的应用程序中使用导航抽屉.我有一个MainActivity,其余的是片段.所以问题是假设我有三个片段,如A,B,C.
现在在A我有一个按钮,我从A> B发送数据.
例如putSring(“datafrom A”,“data from A”);
现在在B我收到来自A的数据.
我在B中有一个按钮,我从B> C发送数据.
例如putSring(“datafrom B”,“data from B”);
现在在C中我从B接收数据
然后,我在C中有一个Button,并从C> B发送数据.
例如putSring(“data from C”,“data from C”);
所以,似乎在B中我从两个不同的片段获取数据.我尝试了所有使用活动,它与startActivityforresult配合得很好.但是,当所有碎片都是碎片时我怎么能管理.
解决方法:
当您将数据从片段A发送到片段B时,请使用与下面相同的布尔值: –
FragmentA – > FragmentB
FragmentB ldf = new FragmentB ();
Bundle args = new Bundle();
args.putBoolean("BOOLEAN_VALUE",true);
ldf.setArguments(args);
getFragmentManager().beginTransaction().add(R.id.container, ldf).commit();
当你将数据从片段C发送到片段B时,使用与片段A到B中使用的相同的BOOLEAN,如下所述 –
FragmentC – > FragmentB
FragmentB ldf = new FragmentB ();
Bundle args = new Bundle();
args.putBoolean("BOOLEAN_VALUE",false);
ldf.setArguments(args);
getFragmentManager().beginTransaction().add(R.id.container, ldf).commit();
在最后我们必须检查FragmentB中接收到的值是否像Fragment A OR FragemntC那样
FragmentB
Boolean getValue= getArguments().getBoolean("BOOLEAN_VALUE");
if(getValue)
{
//VALUE RECEIVED FROM FRAGMENT A
}
else
{
//VALUE RECEIVED FROM FRAGMENT C
}
标签:fragmentmanager,android,android-fragments,fragment 来源: https://codeday.me/bug/20191005/1856765.html