#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. Понял! Спасибо 🙂