Android Kotlin-切换工具提示
这目前是可行的,但我正试图通过在一个方法中调用它来减少代码。它隐藏并显示我创建的工具提示。我试图做的是将以下内容放在一个方法中Android Kotlin-切换工具提示,android,kotlin,Android,Kotlin,这目前是可行的,但我正试图通过在一个方法中调用它来减少代码。它隐藏并显示我创建的工具提示。我试图做的是将以下内容放在一个方法中 private fun showToolTips() { mMarker.showInfoWindow() for (tv in mToolTipArrLst) { tv.isEnabled = true tv.visibility = View.VISIBLE } mToolTipVisibility =
private fun showToolTips() {
mMarker.showInfoWindow()
for (tv in mToolTipArrLst) {
tv.isEnabled = true
tv.visibility = View.VISIBLE
}
mToolTipVisibility = true
}
private fun hideToolTips() {
mMarker.hideInfoWindow()
for (tv in mToolTipArrLst) {
tv.isEnabled = false
tv.visibility = View.INVISIBLE
}
mToolTipVisibility = false
}
您尚未指定要以何种方式组合这些方法(例如,带参数或不带参数)。但这就是我想到的
private fun toggleToolTips() {
if(mToolTipVisibility)
mMarker.hideInfoWindow()
else
mMarker.showInfoWindow()
for (tv in mToolTipArrLst) {
tv.isEnabled = !tv.isEnabled;
if (tv.isEnabled)
tv.visibility = View.VISIBLE
else
tv.visibility = View.INVISIBLE
}
mToolTipVisibility = tv.isEnabled
}
您可以使用带有布尔值的单个方法来指示是否显示或隐藏它:
fun showOrHide(show: Boolean) {
if (show) mMarker.showInfoWindow() else mMarker.hideInfoWindow()
for (tv in mToolTipArrLst) {
tv.isEnabled = show
tv.visibility = if (show) View.VISIBLE else View.INVISIBLE
}
mToolTipVisibility = show
}
试试这个:
private fun fixToolTips(flag: Boolean) {
if (flag) mMarker.showInfoWindow() else mMarker.hideInfoWindow()
for (tv in mToolTipArrLst) {
tv.isEnabled = flag
tv.visibility = if (flag) View.VISIBLE else View.INVISIBLE
}
mToolTipVisibility = flag
}
你的问题在哪里?您已经有一个存储当前状态的字段
mToolTipVisibility
。。。