这里是设置:我有一个页面,我们将其称为A,其中包含一个按钮,我们将其称为B.当用户点击B时,会打开一个对话框(C)。 C一旦创建,它就对A或B一无所知。如何让ClickHandler在GWT中的按钮上被两次调用?
现在,如果用户双击B,则会创建2个或多个Cs,这是不可取的。由于C对B一无所知,我不能禁用该按钮,因为如果用户在C中按下取消,它们将返回到A但B仍然被禁用。我也无法保存页面ID并限制C以这种方式创建,因为如果用户打开C,点击取消但是决定再次打开C,他们必须能够做到这一点。
无论连续点击多少次,我如何停止允许打开多个对话框的按钮?
编辑
我简化了太多在上面的描述,所以这里的深入了解更。我的Toolbar
班有一个名为reference
的按钮。当单击reference
时,会在完全独立的类ItemPicker
上调用函数,该函数创建并显示对话框CreateConversation
。所以,回到我原来的情景中,B对C没有任何了解。我意识到这是错综复杂的,但这不是我现在可以改变的。
不知何故,我需要停止reference
拨打第二个电话至ItemPicker.createAndShow()
,如果它多次点击并且CreateConversation
对话框已被打开。此外,Toolbar
类中没有ItemPicker
的具体实例; createAndShow()
是一种静态方法。
为了简单的补充,不要编辑太多:A也没有对C的具体引用。这是我对他们关系的描述所暗示的,但我宁愿明确一点,避免混淆。 –
我没有忘记这个问题。过去几周发生了很多事情。我会在早上(美国山区时间)测试@Thomas Broyer最近的建议。 –