我一直在研究如何传递数据的各种例子,它们都有类似的结构
Bundle bundle = this.Arguments;
if (bundle != null)
{
string FirstName = bundle.GetString("FirstName");
Toast.MakeText(this.Activity, "Yay it Worked", ToastLength.Short).Show();
}
但它说我的片段不包含setArguments
的定义我在这里做错了什么? 还有另一种传递数据的方法吗?
编辑:
当我运行这段代码时,它说捆绑包为空
A(1,1,:)
A(1,2,:)
...
A(1,9,:)
答案 0 :(得分:2)
在Android Fragment API的Xamarin / C#规范化中,// Eve ESI Swagger Codegen APIs
import { ApiModule } from '../providers/ESISwagger';
import { HttpClientModule } from '@angular/common/http';
providers: [
...
ApiModule,
HttpClientModule,
HTTP, // Ioniic Native HTTP Plugin
...
]
和setArguments
成为C#属性(getArguments
):
Arguments
答案 1 :(得分:0)
使用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");
希望你能得到理想。