Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android开关,在切换开关之前进行验证_Android_Switchcompat - Fatal编程技术网

Android开关,在切换开关之前进行验证

Android开关,在切换开关之前进行验证,android,switchcompat,Android,Switchcompat,我的应用程序上有一个Switch或SwitchCompat 当用户单击或滑动开关时,我想运行一些代码来确定是否允许他们这样做 我已经试过了 setOnCheckedChangeListener和setOnClickListener方法都允许在运行验证代码之前切换滑块的图形 按下开关时,如何在运行其他代码之前运行自己的代码 谢谢您应该先编写验证代码。如果验证为false,则不允许使用setEnabled(false)按下开关。允许else用户按下开关。我们有三个选项 通过setOnCheckedC

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

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

我已经试过了

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

按下开关时,如何在运行其他代码之前运行自己的代码


谢谢

您应该先编写验证代码。如果验证为false,则不允许使用setEnabled(false)按下开关。允许else用户按下开关。我们有三个选项

  • 通过
    setOnCheckedChangeListener()
  • 另一种方法是使用
    setEnabled()
  • 您可以尝试使用
    setOnTouchListener
    并在那里编写验证代码,如果不允许用户执行该功能,只需
    return true
    else
    return false

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

    您是否尝试过
    asyncTask
    ?它将在
    setOnCheckedChangeListener