切换按钮黄灯/短划线

时间:2016-04-28 18:41:43

标签: android button togglebutton

我在其他控制器中制作了一个带有几个Toggle Buttons的应用程序。在某些情况下,某些Toggle按钮会被设置检查并取消选中,而不是由用户进行编程,而是以编程方式进行。

Android虚拟机中的测试显示这些控件的正常行为,当我以编程方式检查并取消选中切换按钮时。

但是当我在一台真正的Android机器上运行App时,我的惊喜就出现了: 当以编程方式取消选中任何切换按钮时(无论我使用setChecked(false)还是toggle()函数),切换按钮确实进入OFF状态,但是使用黄色灯/破折号而不是空灰色破折号是正常的推断...(当然,当解除按钮时,问题不存在)

无论我是否使用:

toggleb.setChecked(false);

...或

toggleb.toggle();

近似图片:

Approximated Image

我怀疑它与真实设备的Android版本相比,它比Android虚拟机更先进......

因此,我想知道在将其设置为OFF状态时,如何以编程方式关闭任何短划线按钮。

我在网上搜索这种情况,但令人难以置信的是,我没有提到它......

非常感谢你提前...

我必须添加更新:

问题出现在特定和复杂的条件下,并且只出现在某些Android设备中,就好像它是一种不必要的副作用。这就是为什么这个问题如此奇怪,并没有出现在eclipse的虚拟机(API 10:Android 2.3.3)中并出现在我的LG G3中。经过几次测试后我必须澄清它,因为我不知道它。

我发现问题的应用程序有一个庞大而复杂的代码,其中ToggleButtons不是通过常用的OnClick方法直接激活,而是通过一个OnTouch方法,其Listener链接到一个ImageView(与View相同)覆盖整个Android设备屏幕区域的元素。

因此,此虚拟元素涵盖了应用程序的所有按钮和控件。通过OnTouch方法注册触摸协调器并检查这些坐标是否与某些ToggleButtons的区域匹配来激活按钮。

如果坐标与给定的ToggleButton的区域匹配且未检查(关闭),则检查(打开)该ToggleButton。

相反,如果坐标与给定的ToggleButton的区域匹配并且被检查(打开),则取消选中该ToggleButton(关闭)。

在某些条件下,取消选中一个ToggleButton,将取消选中其他条件。这就是出现问题的地方:当取消选中其他问题时,黄色短划线只出现在其他问题中。

如果我将其他一些ToggleButton放在虚拟屏幕(或透明的ImageView元素)上,令人难以置信的是,这些问题就会消失,但onTouch功能对于那些直接触摸不起作用,所以这不可能是我的解决方案。

我必须报告所有这些。 对不起,我仍然无法放置代码,因为它非常大而且复杂。 提前谢谢。

0 个答案:

没有答案