Android 在触摸式侦听器上,切换按钮处于错误状态

Android 在触摸式侦听器上,切换按钮处于错误状态,android,Android,我有一个toggleButton连接到onTouch侦听器,当我按下按钮时,图像会发生变化,文本也会发生变化。当我放手时,图像应该会变回原样,文本也应该变回原样。这一切都很好,除了当我放开按钮时,文本只会变回几分之一秒,然后返回到“打开”文本。图像效果很好,这是为什么 xml: ToggleBUtton有自己的侦听器来更改其状态。由于您返回的是false,因此会发生以下情况: 1) onTouch发生,因此按钮状态更改为ON-->OFF 2) 然后调用toogle按钮的侦听器(因为您返回了fal

我有一个toggleButton连接到onTouch侦听器,当我按下按钮时,图像会发生变化,文本也会发生变化。当我放手时,图像应该会变回原样,文本也应该变回原样。这一切都很好,除了当我放开按钮时,文本只会变回几分之一秒,然后返回到“打开”文本。图像效果很好,这是为什么

xml:


ToggleBUtton
有自己的侦听器来更改其状态。由于您返回的是false,因此会发生以下情况:

1)
onTouch
发生,因此按钮状态更改为
ON-->OFF

2) 然后调用toogle按钮的
侦听器
(因为您返回了false,所以不会使用事件),因此状态更改为
OFF-->ON

只需删除以下行,现在文本将在释放切换按钮时更改

((ToggleButton) v).setChecked(true);

更新,因为您需要在触摸按钮时(而不是在触摸释放后)更改文本

从触控监听器中,不会调用切换按钮的监听器

((ToggleButton) v).setChecked(true);

或者,正如您所提到的,只需使用一个普通按钮:)

Hi,由于onTouch功能,此方法不起作用,该方法仅在您松开toggleButton后更改文本。当我按下按钮时,文本将保持不变,一旦我从一种状态切换到另一种状态,文本将发生变化,本质上我正在用我自己的状态覆盖这个侦听器,我以前做过很多次,但这次它有一个错误。我想我可以改成一个按钮,使用setText,而不是胡闹。等等,您想在按下
文本时更改它吗?然后简单地从触控监听器返回
true
。啊,是的,这将阻止它两次改变状态。
((ToggleButton) v).setChecked(true);
((ToggleButton) v).setChecked(false);
return true