我正在尝试为来自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 studio,但我想你可以做类似的事情
place_autocomplete_clear_button.onClick { place_autocomplete_search_input.text = "" }
其中place_autocomplete_clear_button
可以是静态导入,onClick
可能来自anko
弄清楚了。我把方法调用设置错了。
这是它应该是这样的:
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
}
}