onPlaceSelected内部的方法未执行

时间:2018-11-21 21:37:34

标签: kotlin

我正在尝试在onPlaceSelected内部执行搜索方法。方法未执行。当我直接在onPlaceSelected内部编写代码时,它可以工作。

fun search(latLng: LatLng?){
        dispose = weatherApiService
                .requestHourlyWeather(latLng!!.latitude, latLng!!.longitude, client_id, client_secret)
                .subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(
                        {result -> Log.d("Search result:", result.response[0].periods[0].tempC.toString())},
                        { error -> Log.d("Searching error", error.message)}
                )
    }


override fun onPlaceSelected(p0: Place?) {
    search(p0?.latLng) //is not executed, but if I place code directly here it is working

}

有没有一种方法可以在调用onPlaceSelected之后执行操作并传递仅搜索结果?例如:等待onPlaceSelected被称为->传递数据并开始搜索?

1 个答案:

答案 0 :(得分:0)

我在oncreate内设置了侦听器,现在一切正常。

autocompleteFragment.setOnPlaceSelectedListener(object: PlaceSelectionListener