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



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

当然,我可以从片段B调用片段A,但之前存在于片段A中的数据被擦除。或者我可以通过后台再次呈现片段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) ...

最新更新