xamarin - 在 Xamarin Android 中单击按钮来调用 Xamarin.Forms.Page?

标签 xamarin xamarin.android xamarin.forms

我需要通过 Xamarin.Android 中的 Activity 调用 Xamarin.Forms Page

我使用了[Java.Interop.Export("btnOne1Click")]来调用Xamarin.Forms Page

如果我使用App.Current.MainPage = new RootPage();,代码运行不会出现错误,但它不会导航到该页面

我不想在 MainActivity 上调用 [Java.Interop.Export("btnOne1Click")]

[Activity(Label = "FailureActivity")]
public class FailureActivity : Activity
{
    protected override void OnCreate(Bundle savedInstanceState)
    {
        base.OnCreate(savedInstanceState);
        RequestWindowFeature(WindowFeatures.NoTitle);

        SetContentView(Resource.Layout.Failure);

        Button button = FindViewById<Button>(Resource.Id.txt_go_onjobs);
    }

    [Java.Interop.Export("btnOne1Click")]
    public void btnOne1Click(Android.Views.View v)
    {
        try
        {
            Xamarin.Forms.Forms.Context.StartActivity(typeof(RootPage));
        }
        catch(Exception ex)
        { }
    }
}

最佳答案

Xamarin 表单在一项事件上运行,该事件最接近您的主要事件。

有两个示例项目向您展示如何在代码的 native 部分和表单部分之间进行通信,可以在此处找到:

  1. https://github.com/xamarin/xamarin-forms-samples/tree/master/Forms2Native
  2. https://github.com/xamarin/xamarin-forms-samples/tree/master/Native2Forms

但是,要回答您的问题,您需要执行以下操作:

button = FindViewById<Button> (Resource.Id.txt_go_onjobs);
button.Click += (sender, e) => {
    // this is your Xamarin.Forms screen
    StartActivity(typeof(FormsActivity));
};

现在,在您的 FormsActivity 中调用:

[Activity (Label = "FormsActivity")]            
public class FormsActivity : Xamarin.Forms.Platform.Android.FormsApplicationActivity
{
    protected override void OnCreate (Bundle bundle)
    {
        base.OnCreate (bundle);

        Xamarin.Forms.Forms.Init (this, bundle);
        LoadApplication (new App ());
    }
}

关于xamarin - 在 Xamarin Android 中单击按钮来调用 Xamarin.Forms.Page?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46053929/

相关文章:

c# - Xamarin.iOS 的像素转换距离

Android - ViewPager 仅翻转布局而不是 fragment

xamarin - 更新 Xamarin 时出现问题 : unable to resolve dependencies

android - Xamarin 是否足以开发社交平台应用程序?

android - Xamarin.Forms 缺少方法异常 : 'Android.Support.V4.Widget.DrawerLayout.AddDrawerListener' not found

xamarin - 如何在 Xamarin MAC 平台中更改选取器背景颜色

xamarin - 我们如何处理 Xamarin Forms Picker 的完成按钮单击事件?

xamarin.android - 如何访问 Android 项目中的 .dll 或 .so 文件 Xamarin

visual-studio-2012 - 在 axml Xamarin 中没有智能感知

linq - Xamarin Forms - 如何从 MergedDictionaries 中选择 C# 中的资源