Как создать метод для каждого перехода пользователя на страницу в Xamarin.Android

#c# #android #xamarin #xamarin.forms #xamarin.android

#c# #Android #xamarin #xamarin.forms #xamarin.android

Вопрос:

В моем Xamarin.Приложение Forms, я хочу, чтобы метод запускался только тогда, когда пользователь Android переходит на определенную страницу в моем приложении. Я знаю, что для MainActivity.cs существует onCreate(), но есть ли что-то подобное для перехода пользователя на указанную страницу в моем общем проекте?

Таким образом, метод будет выполняться не при открытии приложения, а когда пользователь приложения Android переходит на определенную страницу.

Спасибо!

Комментарии:

1. используйте метод отображения страницы

2. Будет ли это работать, когда вы находитесь в Xamarin. Проект Android, ссылающийся на страницу в общем проекте?

3. он будет запускаться при появлении страницы.

4. Я не уверен, что понимаю… просто для ясности, я определяю это в классе MainActivity.cs Xamarin. Проект Android и ссылка на страницу в общем проекте. Прошу прощения, я новичок во всем этом… можно ли опубликовать это как ответ и показать мне пример? Спасибо!

5. Я действительно не уверен, что вы делаете. «определение этого в классе MainActivity.cs Xamarin. Проект Android и ссылка на страницу в общем проекте » не похоже на проект стандартных форм. Было бы полезно, если бы вы опубликовали свой фактический код

Ответ №1:

все страницы 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");
 

Комментарии:

1. Спасибо вам за ответ. Однако то, что я пытаюсь сделать, — это иметь какой-то метод в MainActivity, который будет выполняться всякий раз, когда появляется страница в общем проекте. Я приношу извинения, если вам неясно или непонятно, что я пытаюсь сделать, я был бы рад ответить на любые вопросы.

2. вы можете использовать MessagingCenter для отправки сообщения с OnAppearing на ваш MainActivity при появлении страницы.

3. Да, это может сработать! Спасибо. Можно ли также написать строку кода внутри OnAppearing для вызова метода в классе MainActivity (после проверки с помощью устройства. RuntimePlatform, что устройство является устройством Android)?

4. Нет. Избегайте тесного соединения кода таким образом, вместо этого используйте MessagingCenter.

5. Понял! Спасибо 🙂