这当前有效,但我试图通过在一个方法中调用它来减少代码。它隐藏并显示我创建的工具提示。我想要做的是将以下内容放入一个方法中。
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
}
答案 0 :(得分:2)
您可以使用带布尔值的单个方法来指示您是显示还是隐藏它:
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
}
答案 1 :(得分:0)
您尚未指定以何种方式组合这些方法(例如,使用参数或不使用参数)。但这就是我想出来的。
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
}
答案 2 :(得分:0)
试试这个:
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
}