问题描述
在我的 Xamarin.Forms 应用程序中,我希望只有当 Android 用户转到我的应用程序中的某个页面时才会触发一个方法。我知道 MainActivity.cs 有一个 OnCreate(),但是当用户导航到我的共享项目中的指定页面时,是否有类似的东西?
因此该方法不会在应用程序打开时执行,而是在Android应用程序的用户导航到某个页面时执行。
谢谢!
解决方法
所有 Xamarin Forms 页面都有一个 OnAppearing
方法,该方法将在页面显示时调用
public partial class MyPage : ContentPage
{
public MyPage ()
{
InitializeComponent ();
}
public override void OnAppearing()
{
// call your method here
}
}
然后您可以使用 MessagingCenter 将消息从页面发送到您的 MainActivity
在MainActivity
MessagingCenter.Subscribe<MyPage>(this,"MyPageAppearing",(sender) =>
{
// Do something whenever the message is received
});
并在您页面的 OnAppearing
MessagingCenter.Send<MyPage>(this,"MyPageAppearing");