Android MainActivity.cs 파일에서 Xamarin.forms의 페이지 레이블 텍스트를 변경하려면 어떻게해야합니까?

Jorvan

Xamarin.forms로 작업 중이며 현재 페이지의 레이블에 (이를 실행중인 Android 휴대폰의) 전화 번호를 표시하려고합니다. 문제는 Android의 MainActivity에서 변경을 수행 할 수 없으며 각각의 page.xaml.cs 코드로 전화 번호를 가져올 수 없다는 것입니다.

누군가 이것을하는 방법을 알고 있습니까? (간단한 것 같은데 난 거의 멍청이)

다음은 Android MainActivity.cs 파일의 코드입니다 (전화 번호는 "myPhoneNumber"에 저장 됨).

using System;

using Android.App;
using Android.Content.PM;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;
using Android.Locations;
using Android.Telephony;
using Android.Content;
using Xamarin.Forms;

namespace SOSChile.Droid
{
    [Activity(Label = "SOSChile", Icon = "@mipmap/icon", Theme = "@style/MainTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
    public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
    {
        string myPhoneNumber = "Hola";

        protected override void OnCreate(Bundle savedInstanceState)
        {
            TabLayoutResource = Resource.Layout.Tabbar;
            ToolbarResource = Resource.Layout.Toolbar;

            base.OnCreate(savedInstanceState);
            global::Xamarin.Forms.Forms.Init(this, savedInstanceState);
            LoadApplication(new App());


            TelephonyManager tMgrStart = (TelephonyManager)this.GetSystemService(TelephonyService);
            string myPhoneNumber = tMgrStart.Line1Number;
        }
    }
}

그리고 여기에 page.xaml.cs 파일이 있습니다 (수정하지는 않았지만 상황을 이해하는 데 도움이 될 수 있습니다 : P) :

using System;

using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using Xamarin.Forms;
using Xamarin.Forms.Xaml;

namespace SOSChile
{
    [XamlCompilation(XamlCompilationOptions.Compile)]
    public partial class AndroidPage : ContentPage
    {
        public AndroidPage ()
        {
            InitializeComponent ();
        }
    }
}
Jorvan

좋아, 유일한 방법은 DependencyService 인 것 같습니다 (적어도 내가 찾은 유일한 방법입니다). 유튜브에는 충분한 튜토리얼이 있고 그렇게 어렵지는 않지만, 제가 가장 큰 문제는 컨텍스트로 "this"대신 "Android.App.Application.Context"를 사용해야한다는 사실을 몰랐습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관