私は以下のコードをprivate async Task
の署名方法で囲んでいます。私の問題はObservableCollection<Goods> goods = new ObservableCollection<Goods>();
がコードDevice.BeginInvokeOnMainThread
が完了する前に実行されるということです。 ObservableCollection<Goods> goods = new ObservableCollection<Goods>();
次のコードがCで実行される前にDevice.BeginInvokeOnMainThreadが完了していることを確認してください
の前には私が使用していましたが、結果は得られません。このコードは、次の行に進む前に正しく取得できます。
助けてください。
Device.BeginInvokeOnMainThread(() =>
{
Location loc = new Location();
GpsData = locService.GetLocation();
a = GpsData.Latitude;
b = GpsData.Longitude;
});
ObservableCollection<Goods> goods = new ObservableCollection<Goods>();
_1._メインスレッドでジオロケーションを取得しようとしていますか? UI操作ではなく、プラットフォーム/システムによって提供され、コード内のメインスレッド上で実行する必要はありません。 _2._ 'await'に必要なコードは' locService.GetLocation(); 'のみです。この' 'GetLocation'メソッドが非同期でない場合、コードを非同期にする必要はありません。 – lukya