簡體   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