我有一个Activity A
。Activity A
调用fragmentfrag1
。frag1
调用fragmentfrag2
。最后frag2
调用frag3
。
当我单击frag3
中的按钮时,我想调用frag1
,传递并解析从frag3
到frag1
的对象。我试着用一个从frag3
发送到frag1
的对象包来实现这一点。
我看到有一个popBackStack()
方法。但是,我有点搞不懂这是怎么回事。使用这种方法安全吗?
我不知道怎么做。
提前谢谢。
最佳答案
使用本地广播。
在片段1上写入广播接收器,
在片段3的apply按钮上,广播数据,然后弹出片段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();
关于android - 具有传递解析对象的popBackStack,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32449812/