我正在制作我的第一个移动应用。我正在从用户那里获得输入,并在将数据检索到数据集之前让他们单击按钮。所有这些都运作良好但是显示数据已经让我陷入困境。可以/我应该在同一页面中显示它还是创建第二个?如何从我的c#代码中调用第二页?我不了解Xamarin和移动设备的最佳实践,因此任何帮助或指导都会有所帮助。
答案 0 :(得分:0)
有多种方法可以做到这一点,这取决于你的应用程序。我假设你没有使用xamarin表单,所以我会给出默认的android / iOS答案。
可以/我应该在同一页面中显示它吗?
如何从我的c#代码中调用第二页?
您不会从第一页调用第二页,而是启动页面并传递所需信息。
Android:您将使用它的布局文件创建一个新活动,并使用意图从您的操作中启动活动(单击您的案例中的按钮)。
您可以使用this tutorial加快使用miltiscreen Xamarin应用程序的android。您的代码应类似于以下内容。
Button yourButton = FindViewById<Button> (Resource.Id.YourButtonId);
yourButton.Click += (sender, e) =>
{
var intent = new Intent(this, typeof(SecondActivity));
StartActivity(intent);
};
要将信息传递到第二页,您可以使用其中一种intent.PutExtra()方法。与
类似intent.PutStringArrayListExtra("YourKey", myList);
通过intent将列表传递给启动活动,将值存储在YourKey下。在SecondActivity中,您可以使用
从意图中获取数据intent.GetExtra("YourKey")
iOS:涉及的代码不多,所以我将列出简要执行此操作的步骤。您可以使用this tutorial开始使用多屏幕iOS应用程序。
如下所示。
public override void PrepareForSegue (UIStoryboardSegue segue, NSObject sender)
{
base.PrepareForSegue (segue, sender);
// set the View Controller that’s powering the screen we’re
// transitioning to
var secondViewController = segue.DestinationViewController as SecondViewController;
secondViewController.YourData = "Your data you want to pass over";
}
如果这回答了您的问题,请告诉我。古德勒克。