[英]Passing data between activities in Xamarin
我无法将 MainActivity 中的数据共享到 Welcome 活动,即使我遵循了此页面的说明: https : //developer.xamarin.com/recipes/android/fundamentals/activity/pass_data_between_activity/
主活动(Activity1)
Button button = FindViewById<Button>(Resource.Id.send);
EditText myName = FindViewById<EditText>(Resource.Id.name);
string name = myName.Text;
button.Click += delegate {
var welcome = new Intent(this, typeof(Welcome));
welcome.PutExtra("name", name);
StartActivity(welcome);
};
欢迎(活动2)
string name = Intent.GetStringExtra("name") ?? "Data not available";
我得到空值,不知道为什么。 有什么建议或建议吗?
您必须在单击按钮时获取文本,否则它将没有值(因为创建 UI 时,EditText 将为空,因此当时为空值)所以
string name = null;
button.Click += delegate {
name = myName.Text;
var welcome = new Intent(this, typeof(Welcome));
welcome.PutExtra("name", name);
StartActivity(welcome);
};
如果您要去子视图,如果您想返回结果,请使用 StartActivityForResult。 您可以在 ActivityResult 中获取返回对象:
protected override void OnActivityResult(int requestCode, [GeneratedEnum] Result resultCode, Intent data)
所以这是在活动之间传递数据和返回数据的好方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.