簡體   English   中英

將數據從活動傳遞到片段

[英]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#規范化中, setArgumentsgetArguments成為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.

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