我有Activity A
。 Activity A
调用片段frag1
。 frag1
调用片段frag2
。最后frag2
拨打frag3
。
当我点击frag3
中的按钮时,我想调用frag1
,将对象从frag3
传递并解析为frag1
。我尝试使用从frag3
发送到frag1
的对象包来执行此操作。
我看到有popBackStack()
方法。但是,我对这将如何工作有点困惑。使用这种方法是否安全?
我不知道怎么做。 提前谢谢。
答案 0 :(得分:2)
答案 1 :(得分:1)
使用本地广播。
在片段1上写入广播接收器,
在片段3的应用按钮上,广播您的数据,然后弹出片段3
例如 -
private final BroadcastReceiver myLocalBroadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
;
Bundle bundle = intent.getExtras();
if (bundle != null) {
get data from bundle
}
};
片段3上的(应用按钮):
Intent localBroadcastIntent = new Intent(Constant.MY_ACTION);
Bundle bundle = new Bundle();
bundle.put("your data);
localBroadcastIntent.putExtras(bundle);
LocalBroadcastManager myLocalBroadcastManager = LocalBroadcastManager.getInstance(getActivity());
myLocalBroadcastManager.sendBroadcast(localBroadcastIntent);
getActivity().getSupportFragmentManager().popBackStack();