我正在尝试从Google's Places Api使用Xamarin Android获得基本的自动完成功能。
我正在使用Xamarin的Google Play Services - Location lib版本25.0.0.0。
我已经设法在跟随this example code
时返回查询结果这是我用来测试代码的片段
No
------
5003
5003
5003
5006
5006
GetAutocompletePredictions 方法有5个返回的结果,但所有类型名为 com.google.android.gms.location.places.internal.zzb 的结果都不能转向IAutocompletePrediction,我没有找到任何方法来使用它们。
我做错了什么或者Xamarin的Google Play图书馆的这部分内容没有完全实现?
答案 0 :(得分:3)
修改 - 新信息
这不是错误。 Xamarin目前尚未实施 IAutocompletePrediction ,因此您必须像这样投出
item.JavaCast<IAutocompletePrediction>()
为了使用它。
较旧的信息
我已经与Xamarin支持人员交谈,他们已经证实这是一个错误。
有关错误修复的更多信息,请访问https://bugzilla.xamarin.com/show_bug.cgi?id=31878
答案 1 :(得分:0)
截至
Xamarin 4.0.0.1717 /
Xamarin.Android 6.0.0.35 /
Xamarin Google Play服务位置组件v 27.0.0.0
,似乎在这个领域有一些工作。 IEnumerable接口现在提供了一种获取类型响应的方法,以下代码片段(替换AutocompleteResult的一部分)有效:
var a = new List<IAutocompletePrediction>();
String t = "";
foreach (IAutocompletePrediction x in buffer)
{
a.Add(x);
t += "\n" + x.GetFullTextFormatted(new StyleSpan(TypefaceStyle.Normal)).ToString();
}
Toast.MakeText(Activity, t /* a.Count.ToString() */, ToastLength.Long).Show();