Kotlin - 用于google的Place Autocomplete API的Clear Button监听器onClick未被调用

问题描述 投票:0回答:2

我正在尝试为来自Google的Place Autocomplete API的清除按钮创建一个监听器。我在我的片段的clearButton()方法中调用了我的onViewCreated方法

清除按钮()

placeAutocompleteFragment?.view?.findViewById<View>(R.id.place_autocomplete_clear_button)
    ?.setOnClickListener {
        View.OnClickListener {
            Log.d(TAG, "Cleared")
            it?.findViewById<EditText>(R.id.place_autocomplete_search_input)?.setText("")
            it?.visibility = View.GONE
        }
    }

现在,当我点击清除按钮图标时,文本不会被删除,没有任何反应。我仍然可以输入新的位置,但我无法清除它。我的Log.d也没有显示出来。

android kotlin google-places-api onclicklistener type-inference
2个回答
0
投票

我现在没有在这台机器上安装android studio,但我想你可以做类似的事情

place_autocomplete_clear_button.onClick { place_autocomplete_search_input.text = "" }

其中place_autocomplete_clear_button可以是静态导入,onClick可能来自anko


0
投票

弄清楚了。我把方法调用设置错了。

这是它应该是这样的:

private fun clearButton() {
    placeAutocompleteFragment?.view?.findViewById<View>(R.id.place_autocomplete_clear_button)?.setOnClickListener {
        Log.d(TAG, "Cleared Button Clicked")
        it.visibility = View.GONE
        //do something
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.