Котлин - Подсказки - PullRequest
0 голосов
/ 30 мая 2018

В настоящее время это работает, но я пытаюсь уменьшить код, вызывая его одним методом.Он скрывает и показывает всплывающие подсказки, которые я создал.То, что я пытаюсь сделать, это поместить следующее в один метод.

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
}

Ответы [ 3 ]

0 голосов
/ 30 мая 2018

Вы можете использовать один метод с логическим значением, чтобы указать, показывать или скрывать его:

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
}
0 голосов
/ 30 мая 2018

попробуйте это:

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
}
0 голосов
/ 30 мая 2018

Вы не указали, каким образом вы хотите объединить эти методы (например, с параметром или без параметра).Но это то, что я придумал.

   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
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...