C# SetContentView(在OnPause之后OnResume时)不查看最后一个内容

C# SetContentView(在OnPause之后OnResume时)不查看最后一个内容,c#,android,xamarin,C#,Android,Xamarin,我有一个用Xamarin、Visual Studio C#编写的应用程序。我想在用户暂停后返回应用程序时显示主布局(homescreen.axml)。我的代码非常简单,工作正常,但当回到应用程序时,最后一个布局显示为半秒,然后显示主布局,我使用以下代码: protected override void OnResume() { base.OnResume(); SetContentView(Resource.Layout.linterna); } 我还尝试设置ContentView来更

我有一个用Xamarin、Visual Studio C#编写的应用程序。我想在用户暂停后返回应用程序时显示主布局(homescreen.axml)。我的代码非常简单,工作正常,但当回到应用程序时,最后一个布局显示为半秒,然后显示主布局,我使用以下代码:

protected override void OnResume()
{
  base.OnResume();
  SetContentView(Resource.Layout.linterna);
}

我还尝试设置ContentView来更改onPause方法中的布局,但这没有任何作用。我是android的新手,对活动等方面没有太多的了解,在Windows中编程非常不同。

你想达到下面这样的效果吗?

如果是这样,当您的应用程序从后台转到前台时,您希望更改活动,您应该在其他活动中使用以下代码

 [Activity(Label = "Activity1")]
public class Activity1 : Activity
{
    protected override void OnCreate(Bundle savedInstanceState)
    {
        base.OnCreate(savedInstanceState);
        SetContentView(Resource.Layout.layout1);
        // Create your application here
    }
    protected override void OnPause()
    {
        base.OnPause();

        //  SetContentView(Resource.Layout.activity_main);
        Intent intent = new Intent(this, typeof(MainActivity));
        StartActivity(intent);
    }

}
如果您只是在
OnPause
OnResume
中设置
SetContentView()
,它会更改当前活动的布局,所有事件都不会执行,例如,我更改如下格式的代码

[Activity(Label = "Activity1")]
public class Activity1 : Activity
{
    protected override void OnCreate(Bundle savedInstanceState)
    {
        base.OnCreate(savedInstanceState);
        SetContentView(Resource.Layout.layout1);
        // Create your application here
    }
    protected override void OnPause()
    {
        base.OnPause();

         SetContentView(Resource.Layout.activity_main);

    }

}
此处正在运行gif。将
SetContentView
设置为
activity\u main
后,按钮单击事件无效。Android页面由活动组成,而不是layout.xml

通常只在onCreate中调用setContentView。如果您更熟悉WPF/UWP,也许您应该看看Xamarin.Forms或Uno?这会让你走得更快。