[英]Passing data from an activity to a fragment
我一直在研究有關如何傳遞數據的各種示例,它們都具有類似的結構
Bundle bundle = new Bundle();
bundle.putString("params", "My String data");
MyFragment frag= new MyFragment();
frag.setArguments(bundle);
但是它說我的片段不包含setArguments的定義
我在這里做錯了什么? 還有另一種傳遞數據的方法嗎?
編輯:
當我運行這段代碼時,它說捆綁包為空
Bundle bundle = this.Arguments;
if (bundle != null)
{
string FirstName = bundle.GetString("FirstName");
Toast.MakeText(this.Activity, "Yay it Worked", ToastLength.Short).Show();
}
在Android Fragment API的Xamarin / C#規范化中, setArguments
和getArguments
成為C#屬性( Arguments
):
frag.Arguments = bundle;
使用newInstance()設計:
public class YourFragment extends Fragment {
public static BlankFragment newInstance(String param1, String param2) {
BlankFragment fragment = new BlankFragment();
Bundle args = new Bundle();
args.putString("param1", param1);
args.putString("param2", param2);
fragment.setArguments(args);
return fragment;
}
}
然后在您的活動中:
YourFragment frag = YouFragment.newInstance("a", "b");
希望你能得到想法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.