簡體   English   中英

如何將一些數據從一個活動的片段發送到另一個活動的另一個片段

[英]how to send some data from fragment of one activity to another fragment of another activity

我已經閱讀了許多鏈接,但所有鏈接都將數據從一個片段傳遞到另一個活動或從一個活動傳遞到另一個活動的片段,但我想從一個活動的片段發送到另一個活動的另一個片段

除非我遺漏了什么,你可以從第一個 Fragment 調用getActivity().startActivity() ,在那個 Intent 上設置一些額外的東西,然后從第二個 Activity 中,將一些參數傳遞到它創建的 Fragment 中。

所以,從片段A

Intent i = new Intent(getActivity(), ActivityB.class);
i.setExtra("key", "hello world");  // for example 
getActivity().startActivity(i);

然后,活動B

onCreate() { 
    Intent i = getIntent();
    FragmentB frag = new FragmentB();
    if (i!=null) frag.setArguments(i); // pass along intent 
    // TODO load Fragment 

並在 FragmentB 中使用getArguments()

如果您必須在整個應用程序中或可能在您的示例中的遠活動/片段之間傳遞數據,請考慮使用一些靜態類(即使在 Java 中沒有靜態類。它更像是一個靜態字段包裝器)。

public class MyRunTimeDatas{
  private static String myStringData;
  private static int myIntData;

  //getters and setters
}

現在,在fragment 1使用

MyRunTimeDatas.setMyStringData("my value");
MyRunTimeDatas.setMyIntData(69);

最后在fragment 2您現在可以調用

String myBeautifulString = MyRunTimeDatas.getMyStringData();
int myFantasticInt = MyRunTimeDatas.getMyIntData();

你就完成了

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM