2

我的应用程序上有一个 Switch 或 SwitchCompat。

当用户单击或滑动开关时,我想运行一些代码来确定是否应该允许他们这样做。

我试过了

setOnCheckedChangeListener 和 setOnClickListener 方法,但都允许在运行验证代码之前切换滑块的图形。

当按下开关时,如何在其他任何事情之前运行我自己的代码?

谢谢

4

2 回答 2

0

我们有三个选择

  1. 一个你试过的setOnCheckedChangeListener()
  2. 其他是通过使用完全禁用视图setEnabled()
  3. 您可以尝试在那里使用setOnTouchListener并编写您的验证代码,如果不允许用户执行return true其他功能return false

返回 true 将使 Switch 相信触摸已被处理,并且不会对相同的操作执行任何操作

于 2017-10-02T06:50:01.200 回答
0

您应该先编写验证代码。如果验证为假,则不允许使用 setEnabled(false) 按下开关,否则允许用户按下开关

于 2017-10-02T04:02:21.223 回答