繁体   English   中英

当第二个片段已经有数据时,将数据从一个片段传递到另一个片段

[英]Passing data from one fragment to another when second fragment already has data

所以,我有一个片段 A 和一个片段 B。片段 A 有一些数据,用户按下一个按钮,转到片段 B,在那里执行一些操作,当他完成后,我需要用户 go 回到片段 A从fragment B中恢复了一些数据,而fragment A中的数据没有重新创建,而是保留了它第一次拥有的数据。 这不应该那么难,但我在实现它时遇到了一些问题。

当然,我可以从片段 B 中调用片段 A,但之前存在于片段 A 中的数据会被删除。 或者我可以通过后台堆栈 go 再次呈现片段 A,但是如何在保持片段 A 中存在的数据的同时从片段 B 传递数据?

两个Fragment都附加到同一个Activity ,因此您可以在其中引入一些方法

private String data = null;

public void storeData(String data){
    this.data = data;
}

public void restoreData(){
    return data;
}

并从Fragment端调用

// when B is detached/removed
((MainActivity) getActivity()).storeData(data);

// onCreateView of A?
String restoredData = ((MainActivity) getActivity()).restoreData(); 
if (restoredData!=null) ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM