0

Google SupportPlaceAutocompleteFragment has listener when address in fragment is selected with:autocompleteFragment.setOnPlaceSelectedListener

但它仅在结果覆盖关闭并且您处理该结果时才有效。我的目标是在早期阶段拦截点击结果。

我想要做的是留在带有自动完成片段的页面上,而不是关闭它继续输入地址。例如,自动完成片段建议我街道,我想自动完成它并让用户有机会指定房子。

可能的解决方案是以编程方式获取位置预测并由我自己处理所有 UI,但希望有一种更简单的方法。

4

1 回答 1

0

很脏,但有效的解决方案。

如果地点类型是路线 - 再次调用地点自动完成片段

autocompleteFragment.setOnPlaceSelectedListener(object : PlaceSelectionListener {
        override fun onPlaceSelected(place: Place) {
            if (place.placeTypes.first() == Place.TYPE_ROUTE) {
                autocompleteFragment.view?.findViewById<EditText>(R.id.place_autocomplete_search_input)?.performClick()
            }
        }

        override fun onError(status: Status) {
            error("An error occurred: $status")
        }
    })
于 2018-10-10T19:17:46.500 回答