我正在尝试使用带有C#的Xamarin Forms进行编码的简单Android应用程序。在我的Main.axml中有一个按钮,在点击时我想转到一个新页面,比如XInfo.axml。
现在这是我的MainActivity.cs:
using System;
using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Views;
using Xamarin.Forms;
namespace AlberoPizza
{
[Activity(Label = "Albero Pizza", MainLauncher = true, Icon="@drawable/icon")]
public class MainActivity : Activity
{
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
//// Set our view from the "main" layout resource
SetContentView(Resource.Layout.Main);
// Get our button from the layout resource,
// and attach an event to it
Button btn = FindViewById<Button>(Resource.Id.MyButton);
btn.Clicked += (object sender, EventArgs e) => {
};
}
}
}
现在,我发现很难在我的Lambda中构建代码来处理导航到页面,我提到了它的名字。没有导航栏,也没有任何导航栏。此外,对于现有的代码块,我收到此错误,这对我来说非常奇怪:
错误CS0311:类型'Xamarin.Forms.Button'不能用作泛型类型或方法'Android.App.Activity.FindViewById(int)'中的类型参数'T'。没有从'Xamarin.Forms.Button'到'Android.Views.View'的隐式引用转换。 (CS0311)(AlberoPizza)
我认为这就是我们通常在Android应用Xamarin中找到控件的方式。你能帮我完成这个代码吗?我确信这是一种非常基本的场景。一方面存在这种持久性错误,另一方面存在导航到XInfo.axml的代码。我在lambda中尝试过类似Activator.CreateInstance,PushAsync等的东西,但是出现了更多的错误,整个事情变得越来越复杂。