Как избежать нескольких кликов по пункту меню, эффективно используя kotlin в android - PullRequest
0 голосов
/ 16 апреля 2020

Я использую одну кнопку меню на панели инструментов, но я хочу избежать нескольких кликов.

1 Ответ

0 голосов
/ 23 апреля 2020
    class SafeMenuClickListener(
    private var defaultInterval: Int = 1000,
    private val onSafeClick: (MenuItem?) -> Unit
): Toolbar.OnMenuItemClickListener {
  private var lastTimeClicked: Long = 0
  override fun onMenuItemClick(item: MenuItem?): Boolean {
    var recentClickTime: Long = lastTimeClicked
    lastTimeClicked = System.currentTimeMillis()
    if(System.currentTimeMillis() - recentClickTime < defaultInterval){
      return false
    } else{
      onSafeClick(item)
      return true
    }
  }
}



    //In another kotlin file create a function 
fun Toolbar.setSafeMenuClickListener(onSafeClick: (MenuItem?) -> Unit) {
    val safeMenuClickListener = SafeMenuClickListener(defaultInterval = 1000,onSafeClick = ({
        onSafeClick(it)
    }))
    setOnMenuItemClickListener(safeMenuClickListener)
}



 // SetOnMenuClickListner instead of setOnMenuItemClickListner
    toolbar.setOnMenuClickListner{
        doSomething()
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...