簡體   English   中英

將活動中的字符串發送到另一個活動的片段

[英]Send String from an Activity to a Fragment of another Activity

我有兩個活動(A和B)和一個片段F片段F包含在活動B中我想將字符串從活動A發送到片段F怎么能這樣做? 謝謝!

它與您在活動之間交換數據幾乎相同。 你應該在開頭使用getActivity()來訪問片段。

檢查以下代碼:

在活動A中:

Intent intent = new Intent(this,ActivityB.class);
intent.putExtra("data",data); //data is a string variable holding some value.
startActivity(intent); 

在活動B的片段F中

String data = getActivity().getIntent().getStringExtra("data");

首先,您實際上會將該字符串發送到您的活動B.例如:

Intent intent = new Intent(this, YourActivityClass.class);
intent.putExtra("myString", "this is your string");
startActivity(intent);

然后在執行fragment-transaction之前從活動B中讀取該字符串並注入到您的片段中。 例如:

Bundle args = new Bundle();
args.putString("myString", getIntent().getExtras().getString("myString"))
yourFragment.setArguments(args);

稍后,在片段中使用getArguments()來檢索該包。


或者,在片段中使用以下內容直接訪問活動意圖並獲取所需的值:

String str = getActivity().getIntent().getStringExtra("myString");

有關詳細信息,請閱讀此內容

在Fragment.java文件中添加以下代碼,

public static String name= null;

public void setName(String string){
name = string;
}

在要從中發送String的MainActivity.java中添加以下代碼,

String stringYouWantToSend;

Fragment fragment =  new Fragment();
fragment.setName(stringYouWantToSend);    

暫無
暫無

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

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