daybreaker Asked:2020-09-25 04:29:32 +0000 UTC2020-09-25 04:29:32 +0000 UTC 2020-09-25 04:29:32 +0000 UTC 为什么方法完成后执行 772 问题来了,因为chooseButton方法中有几个buttonListener,当其中一个被调用时,一个按钮的布尔变量和颜色发生了变化,那么程序不得不退出该方法并打印End。但是碰巧程序完全通过了chooseButton方法,打印了End,当我决定点击按钮时,它们都改变了颜色,虽然只有一个应该改变颜色,并且消息输出工作,虽然理论上方法已经完成。 java 1 个回答 Voted Best Answer pavlofff 2020-09-25T07:58:55Z2020-09-25T07:58:55Z 这是因为点击监听OnClickListener器被系统调用并触发按钮点击事件。使用方法将侦听器附加到小部件后setOnClickListener(),每次单击小部件时都会触发它。这不依赖于您自己的方法以任何方式完成,只要监听器附加到的小部件在屏幕上(并且您可以单击它),或者监听器显式断开连接,它就会保持有效那个小部件。 如果您希望按钮在您的方法结束时停止响应点击,您需要解除与它们的点击侦听器的绑定: buttonA.setOnClickListener(null);
这是因为点击监听
OnClickListener器被系统调用并触发按钮点击事件。使用方法将侦听器附加到小部件后setOnClickListener(),每次单击小部件时都会触发它。这不依赖于您自己的方法以任何方式完成,只要监听器附加到的小部件在屏幕上(并且您可以单击它),或者监听器显式断开连接,它就会保持有效那个小部件。如果您希望按钮在您的方法结束时停止响应点击,您需要解除与它们的点击侦听器的绑定: