Kotlin Anko Coroutines onTouch ACTION_UP会创建重复项

时间:2018-05-18 18:24:15

标签: android kotlin anko

使用onClick一切正常,但我需要onTouch来添加和删除一些topPadding。 我注意到MotionEvent.ACTION_UP有一个奇怪的行为,并以某种方式被调用两次(两个Snackbars,首先是一个快速的(不寻常的)然后是长的一个)。

ui.addCustomBtn.onTouch { v, event ->
  when (event.action) {
    MotionEvent.ACTION_DOWN -> v.topPadding = dip(12)
    MotionEvent.ACTION_UP -> {
      v.topPadding = dip(6)
      delay(210)

      if (ui.customText.text.isNotEmpty()) {
        Config.customFilterStrings.add(Config.customId, ui.customText.text.toString())
        Config.customFilterBooleans.add(Config.customId, true)
        Config.customId++

        recreate()
      } else longSnackbar(v, string.warning)
    }
  }
}

0 个答案:

没有答案