C# SetContentView(在OnPause之后OnResume时)不查看最后一个内容
我有一个用Xamarin、Visual Studio C#编写的应用程序。我想在用户暂停后返回应用程序时显示主布局(homescreen.axml)。我的代码非常简单,工作正常,但当回到应用程序时,最后一个布局显示为半秒,然后显示主布局,我使用以下代码: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来更
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?这会让你走得更快。