[英]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.