gpt4 book ai didi

java - 如何从xamarin android中的AutocompletePredictionBufferResponse获取AutocompletePredictionBuffer

转载 作者:行者123 更新时间:2023-12-02 10:44:08 25 4
gpt4 key购买 nike

我正在为我的 xamarin.android 应用程序使用 Google 地方信息自动完成功能。我正在调用“GetAutocompletePredictions”。在“OnComplete(任务任务)”方法中,我正在获取任务,其中我正在获取“AutocompletePredictionBufferResponse”,但现在我无法从 AutocompletePredictionBufferResponse 获取 AutocompletePredictionBuffer。

using Android.App;
using Android.Widget;
using Android.OS;
using Android.Support.V7.App;
using Android.Gms.Maps;
using Android.Gms.Location.Places;
using Android.Gms.Maps.Model;
using Android.Gms.Tasks;
using Android.Content;
using Android.Util;
using Android.Views;
using Android.Gms.Common.Apis;
using Android.Support.V4.App;
using System.Collections.Generic;
using Java.Lang;
using System.Reflection;

namespace GooglePlacesAndroidNative
{
[Activity(Label = "GooglePlacesAndroidNative", MainLauncher =
true, Icon = "@mipmap/icon")]
public class MainActivity : Activity, IOnCompleteListener,
IOnSuccessListener
{
GeoDataClient getGeoDataClient;

protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);

LatLngBounds bounds = new LatLngBounds(new
LatLng(38.46572222050097, -107.75668023304138), new
LatLng(39.913037779499035, -105.88929176695862));

getGeoDataClient =
PlacesClass.GetGeoDataClient(Android.App.Application.Context,
null);

Android.Gms.Tasks.Task result =
getGeoDataClient.GetAutocompletePredictions("pune", bounds,
null);

result.AddOnCompleteListener(this);

result.AddOnSuccessListener(this);

}

public void OnComplete(Task task)
{
AutocompletePredictionBufferResponse test = (AutocompletePredictionBufferResponse)task.Result;
}


public void OnSuccess(Object result)
{
AutocompletePredictionBufferResponse test = (AutocompletePredictionBufferResponse)result;
}
}
}

我的问题是“getGeoDataClient.GetAutocompletePredictions(“pune”,bounds,null)”函数返回Android.Gms.Tasks.Task,即“AutocompletePredictionBufferResponse”。在Java android“AutocompletePredictionBufferResponse”类中具有诸如“get(int)”、“getCount()”之类的函数,但在xamarin.android中,相同的函数不具有所有这些我可以从中获取Placess信息的函数。相反,“AutocompletePredictionBuffer”在 xamarin.android 中具有所有这些功能。现在我的问题是,当我在 OnComplete(Task) 中得到 api 响应时,我得到“AutocompletePredictionBufferResponse”,从这个类对象中我如何获取有关 PLacess 的所有信息,或者至少如何获取“AutocompletePredictionBuffer”对象。

最佳答案

Xamarin 具有基于扩展的帮助程序,因此您可以通过 GetAutocompletePredictionsAsync 将 C# 风格的 async/await 与那些 Android.Gms.Tasks.Tasks 结合使用

var bufferResponse = await getGeoDataClient.GetAutocompletePredictionsAsync("pune", bounds, null);

或者使用 Xamarin 的 Android.Gms.Extensions:

var result = await TasksExtensions.AsAsync<AutocompletePredictionBufferResponse>(getGeoDataClient.GetAutocompletePredictions("pune", bounds, null));

关于java - 如何从xamarin android中的AutocompletePredictionBufferResponse获取AutocompletePredictionBuffer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52717617/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com